ich habe einen Problem mit einem Dictionary. Meine Aufgabe ist, einen Web-Scraper zu schreiben, die alle Titeln zum Thema http auf Heide.de einsammelt und Top 3 der Wörter ausgibt. Ich habe folgendes geschafft: Die Titteln in einen String zu packen, dann in einzelnen Wörter/Punktuationszeichen trennen und denen Häufigkeit zu berechen. Nun besteht mein Problem darin, die Punktuationszeichen und dem Ergebnis-Dictionary zu entfernen. Wenn ich den Code ausführe, bekomme ich folgenden Fehler " if '-' in count:
TypeError: argument of type 'method' is not iterable". ich verstehe nicht warum ich über einen Dictionary nicht iterieren darf. Könnt ihr mir vielleicht ein Paar Tipps dazu geben.
Vielen Dank im Voraus.
Code: Alles auswählen
# imports
from bs4 import BeautifulSoup
import requests
import csv
import nltk
#HTML-Text von der Seite kriegen
url = "https://www.heise.de/thema/https"
soup = BeautifulSoup(requests.get(url).text,'lxml').find(class_="keywordliste")
soup=soup.find('nav')
soup=soup.find_all('header')
zeile=''
#Titeln aus den Headern extrahieren
for i in soup:
zeile=zeile+(i.text)
#Text in Wörter/Punktationszeichen trennen
tokenit = nltk.tokenize.WordPunctTokenizer().tokenize(zeile)
#Häufigkeit jedes Wortes/Punktationszeichen ermitteln. Nur die häufigsten werden angezeigt
count=nltk.FreqDist(tokenit).most_common
# Punktuationszeichen entfernen
if '-' in count. :
del count['-']
if ':' in count:
del count[':']
print(count)