Мне нужно отсканировать веб-страницу и найти пять наиболее часто встречающихся имен. Ожидаемый результат должен выглядеть как
[
('Anna Pavlovna', 7),
('the prince', 7),
('the Empress', 3),
('Theprince', 3),
('Prince Vasili', 2),
]
Мой код считает наиболее частые имена, но вместо этого вывод выглядит так:
[(<span class="green">Anna Pavlovna</span>, 7),
(<span class="green">the prince</span>, 7),
(<span class="green">the Empress</span>, 3),
(<span class="green">The prince</span>, 3),
(<span class="green">Prince Vasili</span>, 2)]
Что я могу сделать, чтобы мой вывод выглядел как пример вывода?
import nltk
from urllib.request import urlopen
from bs4 import BeautifulSoup
html=urlopen('http://www.pythonscraping.com/pages/warandpeace.html')
soup=BeautifulSoup(html,'html.parser')
nameList = soup.findAll("span", {"class":"green"}) # may use bsObj.find_all()
fdist1 = nltk.FreqDist(nameList)
fdist1.most_common(5)