當前位置:
首頁 > 最新 > 爬取了上萬影評,才明白《邪不壓正》究竟算不算好電影!

爬取了上萬影評,才明白《邪不壓正》究竟算不算好電影!

暑期是學生放假的時候,也是院線神仙打架的時候,各色電影亮相大熒屏,高潮迭起,好不精彩。

今年的暑期《我不是葯神》一騎絕塵,而姜文的《邪不壓正》卻褒貶不一,雖然上映當天豆瓣評分便由8.2跌到7.1,但單日票房卻依舊過億。

作為掌握技術Pythoner,我們除了關注彭于晏的屁股,還應該關注許晴的臀部,啊不是,應該透過現象去看清本質。

那麼咱們來通過爬取豆瓣影評獲取數據進行分析。

數據的獲取

對於數據的獲取,本文採用的是Python爬蟲的方式獲取的數據。用到的主要是requests包正則包re。(注意:該程序並未對驗證碼進行處理。爬取內容少不會遇到驗證碼,但上萬評論可能會跳出驗證碼)

爬取的內容主要是:用戶名,是否看過,評論的星星點數,評論時間,認為有用的人數,評論內容。參看下圖(用戶名已隱藏):

以下是Python爬蟲的代碼:

importrequests

importre

importpandas as pd

url_first="https://movie.douban.com/subject/26366496/comments?start=0"

head={"User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/59.0.3071.109 Chrome/59.0.3071.109 Safari/537.36"}

cookies={"cookie":"你自己的cookie"}#也就是找到你的賬號對應的cookie

html=requests.get(url_first,headers=head,cookies=cookies) reg=re.compile(r"")#下一頁

ren=re.compile(r"(.*?).*?comment">(.*?).*?.*?(.*?).*?(.*?).*?title="(.*?)">.*?title="(.*?)">.*?class=""> (.*?)",re.S)#評論等內容

while html.status_code==200: url_next="https://movie.douban.com/subject/26366496/comments"+re.findall(reg,html.text)[0]

zhanlang=re.findall(ren,html.text)

data=pd.DataFrame(zhanlang)

data.to_csv("/home/wajuejiprince/文檔/zhanlang/zhanlangpinglun.csv", header=False,index=False,mode="a+")#寫入csv文件,"a+"是追加模式data=[] zhanlang=[] html=requests.get(url_next,cookies=cookies,headers=head)

△注意設置你自己的User-Agent,Cookie,CSV保存路徑等

爬取的內容保存成CSV格式的文件,如下所示:

數據的處理

雖然在爬取的時候已經非常注意爬取內容的結構了,但是還是不可避免的有一些值不是我們想要的,比如有的評論內容會出現在評論者這一項中。比如評論重複,所以還是首先有必要進行一下數據的清洗。

接下來就可以進行數據淺析,比如通過星星數判定評論質量:

plot_ly(my_dt[,.(.N),by=.(五星數)],type = "bar",x=~五星數,y=~N)

△通過五星的判定而言大部分都是持肯定意見

對評論結果的雲圖展示:

?首先我們應該先進行評論的分詞

wk

sw

segwords

my_segwords

#去除停止詞

st

#讀取停止詞stopwords

for(i in 1:length(st))

{ stopwords[i]

seg_Words

?總體評論雲圖展示

words%data.table()setnames(words,"N","pinshu")

words[pinshu>1000]#去除較低頻數的辭彙(小於1000的)wordcloud2(words[pinshu>1000], size = 2, fontFamily = "黑體",color = "random-light", backgroundColor = "grey")

由於數據太多,防止卡頓,所以在製作雲圖的時候去掉了頻數低於1000的辭彙。

雲圖結果如下:

可以看出,排名靠前的熱詞分別是姜文、不錯、好看、彭于晏、劇情、看不懂等,評論確實是五花八門,當然這也是姜文電影的特點吧。

最後送大家一張希臘雕塑般美好的肉體福利

你以為到這兒就完了?光圖片怎麼夠,當然得來點真材實料的呀——

學習,其實是一個堅持、分享、交流、提高的過程。對於初學者而言,通過實戰案例無疑是最快的成長路徑。

人工智慧的時代,掌握了核心技術的人才是未來的稀缺人才,人生苦短,讓我們一起Python當歌!


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 大數據技術 的精彩文章:

TAG:大數據技術 |