python 爬取豆瓣電影評論,並進行詞雲展示
本文旨在提供爬取豆瓣電影《我不是藥神》評論和詞雲展示的程式碼樣例
1、分析URL
2、爬取前10頁評論
3、進行詞雲展示
1、分析URL
我不是藥神 短評
第一頁url
我不是藥神 短評
第二頁url
https://
movie。douban。com/subjec
t/26752088/comments?start=20&limit=20&sort=new_score&status=P
…
…
…
第十頁url
我不是藥神 短評
分析發現每次變化的只是…strat=後面的數字,其他內容不變,可以以此遍歷每一頁的評論。
2、爬取前10頁評論
import urllib。request
from bs4 import BeautifulSoup
‘’‘
遇到不懂的問題?Python學習交流群:821460695滿足你的需求,資料都已經上傳群檔案,可以自行下載!
’‘’
def getHtml(url):
“”“獲取url頁面”“”
headers = {‘User-Agent’:‘Mozilla/5。0 (Windows NT 10。0; WOW64) AppleWebKit/537。36 (KHTML, like Gecko) Chrome/62。0。3202。94 Safari/537。36’}
req = urllib。request。Request(url,headers=headers)
req = urllib。request。urlopen(req)
content = req。read()。decode(‘utf-8’)
return content
def getComment(url):
“”“解析HTML頁面”“”
html = getHtml(url)
soupComment = BeautifulSoup(html, ‘html。parser’)
comments = soupComment。findAll(‘span’, ‘short’)
onePageComments = []
for comment in comments:
# print(comment。getText()+‘\n’)
onePageComments。append(comment。getText()+‘\n’)
return onePageComments
if __name__ == ‘__main__’:
f = open(‘我不是藥神page10。txt’, ‘w’, encoding=‘utf-8’)
for page in range(10): # 豆瓣爬取多頁評論需要驗證。
url = ‘https://movie。douban。com/subject/26752088/comments?start=’ + str(20*page) + ‘&limit=20&sort=new_score&status=P’
print(‘第%s頁的評論:’ % (page+1))
print(url + ‘\n’)
for i in getComment(url):
f。write(i)
print(i)
print(‘\n’)
————————————————
版權宣告:本文為CSDN博主「三個石頭2016」的原創文章,遵循 CC 4。0 BY-SA 版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog。csdn。net/qiang12qiang12/article/details/81082675
特別的,爬取更多評論需要模擬登陸。
3、進行詞雲展示
import matplotlib。pyplot as plt
from wordcloud import WordCloud
from scipy。misc import imread
import jieba
text = open(“我不是藥神page10。txt”,“rb”)。read()
#結巴分詞
wordlist = jieba。cut(text,cut_all=True)
wl = “ ”。join(wordlist)
#print(wl)#輸出分詞之後的txt
#把分詞後的txt寫入文字檔案
#fenciTxt = open(“fenciHou。txt”,“w+”)
#fenciTxt。writelines(wl)
#fenciTxt。close()
#設定詞雲
wc = WordCloud(background_color = “white”, #設定背景顏色
mask = imread(‘shen。jpg’), #設定背景圖片
max_words = 2000, #設定最大顯示的字數
stopwords = [“的”, “這種”, “這樣”, “還是”, “就是”, “這個”], #設定停用詞
font_path = “C:\Windows\Fonts\simkai。ttf”, # 設定為楷體 常規
#設定中文字型,使得詞雲可以顯示(詞雲預設字型是“DroidSansMono。ttf字型庫”,不支援中文)
max_font_size = 60, #設定字型最大值
random_state = 30, #設定有多少種隨機生成狀態,即有多少種配色方案
)
myword = wc。generate(wl)#生成詞雲
wc。to_file(‘result。jpg’)
#展示詞雲圖
plt。imshow(myword)
plt。axis(“off”)
plt。show()
詞雲圖如下
上一篇:坎昆最值得一去的景點