您當前的位置:首頁 > 書法

python 爬取豆瓣電影評論,並進行詞雲展示

作者:由 NicePython 發表于 書法時間:2019-09-10

本文旨在提供爬取豆瓣電影《我不是藥神》評論和詞雲展示的程式碼樣例

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()

詞雲圖如下

python 爬取豆瓣電影評論,並進行詞雲展示

標簽: url  詞雲  藥神  print  import