from urllib import request
url = 'https://python.org/'
html=request.urlopen(url)
html=html.read()
html
#導入url網址裏面的HTML內容
可以看出很多雜亂的HTML代碼和網頁內容混合在一起,需要我們進行清洗。
import nltk
from bs4 import BeautifulSoup
import re
soup = BeautifulSoup(html,'lxml')
clean=soup.get_text()
tokens = [tok for tok in clean.split() ]
print(tokens[0:100])
直接用nltk這個現在不行了,要藉助bs4來進行處理。
比之前好多了,進行詞頻統計。
Freq_dist_nltk = nltk.FreqDist(tokens)
print(Freq_dist_nltk)
for k,v in Freq_dist_nltk.items():
print(str(k)+':'+str(v))
可以看出很多無用的標點符號和詞語,我們用停用詞表進行去除。
import nltk
nltk.download('stopwords')
import nltk
nltk.download('punkt')
import matplotlib
from nltk.corpus import stopwords
stopwords=stopwords.words('english')
clean_tokens= [tok for tok in tokens if len(tok.lower())>1 and (tok.lower()not in stopwords) ]
Freq_dist_nltk = nltk.FreqDist(clean_tokens)
freplot = Freq_dist_nltk.plot(20,cumulative = False)
經過去停用詞後結果還是令人滿意的,好了,簡單的嘗試一下用nltk,還是不錯的。