python爬《邪不壓正》豆瓣影評

python爬《邪不壓正》豆瓣影評

8 人贊了文章

剛剛看完大火的《我不是葯神》,又迎來了姜文導演的《邪不壓正》,雖然評論各種吐槽《邪不壓正》,口碑與評分持續走低,票房增速乏力,但仍擋不住上映後的火熱,截止7月14日19點,電影的總票房突破了2億元。為了看看電影怎麼樣,於是我決定要做些事情了。這個時候是時候拿出我們的python來分析一下影評了。

依然使用requests和BeautifulSoup配合爬取豆瓣影評,在這裡我們為了簡單一點,就不去模擬登陸了,雖然只能爬取200條評論,但登陸後也只能爬取500條。還有一個問題就是在將影評寫入txt文件時容易出現編碼錯誤問題,這個時候需要在寫入式加入編碼格式為「utf-8」,爬取結果如下:

從上圖看,爬取過程還是十分順利的,爬取結果也基本滿足預期。接下來就要用python生成詞雲了,生成詞雲需要jieba和 wordcloud兩個工具,在安裝wordcloud時給大家的意見是先去網站下載.whl文件,然後再用pip安裝。直接用pip的話容易出現錯誤。生成詞雲如下:

具體代碼如下

import requests

from bs4 import BeautifulSoup

import matplotlib.pyplot as plt

from wordcloud import WordCloud, STOPWORDS

import jieba

def ciyun():

text = open("xiebuyazheng.txt","r",encoding=utf-8).read()

wordlist = jieba.cut(text,cut_all=True)

word0 = " ".join(wordlist)

stopwords= STOPWORDS.copy()

word1 = WordCloud(background_color = "black",max_words = 2000,stopwords=stopwords,font_path = "simfang.ttf",max_font_size = 50,random_state = 30)

myword = word1.generate(word0)

plt.imshow(myword)

plt.axis("off")

plt.show()

def get_data(html):

soup = BeautifulSoup(html,"lxml")

comment_list = soup.select(.comment > p)

next_page = soup.select(.next)[0].get(href)

return comment_list,next_page

if __name__ =="__main__":

url = movie.douban.com/subjec

headers = {User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.89 Safari/537.36}

current_page = url

next_page = ""

comment_list = []

temp_list = []

num = 0

i=11

while(i):

html = requests.get(current_page, headers=headers).content

temp_list,next_page = get_data(html)

if next_page is None:

break

current_page = url + next_page

comment_list = comment_list + temp_list

print (current_page)

i=i-1

#將爬取的評論寫入txt文件中

with open("xiebuyazheng.txt","w",encoding=utf-8) as f:

for node in comment_list:

comment = node.get_text().strip().replace("
", "")

f.write(comment + "
")

f.close()

ciyun()

為方便大家使用代碼,在運行時只需要修改電影評論網址即可爬取電影評論並製作該電影的詞雲,在實戰中成長,在實戰中進步,歡迎關注公眾號《python練手項目實戰》,代碼在公眾號內回復「詞雲」即可。


推薦閱讀:

TAG:Python | 邪不壓正2018年姜文導演的電影 | python爬蟲 |