大家好呀,我是你們親愛的 w3cschool 小編。
最近,最火的電視劇莫過于《大秦賦》了,小編也是一直在追,12 月 1 號開播,那口碑杠杠的。可三集過后,小編那是直呼好家伙啊,我****。相信看過小伙伴們和我是一樣的,直呼好家伙了。該劇在豆瓣上的評分也由最初的 8.9 分,降到了現(xiàn)今的 6.0 分,可謂是高走低開,觀者全程**。
于是乎小編忍不住的用 Python 爬取了豆瓣上《大秦賦》的評論相關(guān)數(shù)據(jù),進行了一波分析,也給大家分享一下思路。
一、數(shù)據(jù)爬取
既然要做分析,那肯定得先搞到數(shù)據(jù)。小編選擇的是豆瓣網(wǎng)下手,原因嘛,很簡單,它家數(shù)據(jù)全吶,反扒難度還不大。我們主要要獲取的信息為評論的星級以及評論時間,順帶將評論者及評語咱也一起扒拉下來。
技術(shù)方面,小編用的是requests、bs4、pandas、time、matplotlib五個庫,工具為Pychram和Anaconda jupyter nootbook。
開始編寫前我們先來看下網(wǎng)站頁面url變化規(guī)律:
https://movie.douban.com/subject/26413293/comments?status=P
https://movie.douban.com/subject/26413293/comments?start=20&limit=20&status=P&sort=new_score
https://movie.douban.com/subject/26413293/comments?start=40&limit=20&status=P&sort=new_score
小伙伴們看出來了么,不難發(fā)現(xiàn)頁面變換中僅有 start 是不一樣的,所以在后續(xù)翻頁操作中我們只需要修改 start 參數(shù)即可,那么小編在這給大家一個問題,首頁 url 如何解決呢?
關(guān)于反扒:
對于豆瓣的爬取措施,其實找到真實的短評鏈接,是極其容易的。但是小編建議大家要登錄后攜帶 cookie 信息進行數(shù)據(jù)的爬取,不然豆瓣會識別你為爬蟲封禁你的 ip,至于該放什么小編給大家一個參考:
headers = {
"Accept":"application/json, text/plain, */*",
"Accept-Language":"zh-CN,zh;q=0.9",
"Connection":"keep-alive",
"Host":"movie.douban.com",
"User-Agent":'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36',
"Cookie":'這里是你自己的cookie'
}
那么 cookie 信息在哪呢,我們打開網(wǎng)頁摁下 F12,或者鼠標(biāo)右鍵選擇檢查,點擊 NetWork 然后刷新一下界面,找到刷新出來的第一個信息,然后扒拉一下就能找到啦。
補充一點:小編本打算將《大秦賦》的所有短評都給扒拉下來的,可最終也只爬取到了 500 條,這應(yīng)該也是豆瓣的反扒措施(有大神的話,可以下去研究一下如何破解,然后告訴小編)。
二、數(shù)據(jù)處理
1、剔除重復(fù)值
采用如下命令查看重復(fù)項數(shù)量:
np.sum(df.duplicated()) #計算重復(fù)數(shù)量
采用如下命令刪除所有變量都重復(fù)的行:
df.drop_duplicates(keep = False) #刪除所有變量都重復(fù)的行
結(jié)果如下:
可以看出,得到的結(jié)果還是很漂亮的。
三、可視化分析
俗話說:“字不如表,表不如圖”。我們所爬取到的數(shù)據(jù),最終還是要有一個可視化的效果呈現(xiàn),才能夠讓我們分析出數(shù)據(jù)背后所存在的規(guī)律,讓我們有一個清晰的認(rèn)識。下面小編從以下幾個方面來對我們所獲取到的數(shù)據(jù)進行數(shù)據(jù)可視化分析。
1、評論數(shù)隨時間的變化趨勢
從圖中我們不難看出:短評數(shù)量在 12 月 4 日之前,一直處于上升趨勢,在 12 月 4 日達到頂峰。和小編的觀看情感變化是如出一轍,從期待到失望。
2、星級評分的餅圖
從圖中可以看出:大家對于該劇的評價還是很低的,1 星和 2 星基本占據(jù)了整個餅圖,也就是說該劇并沒有得到大家的認(rèn)可。好了不多說了小編就是那個一星貢獻者。
推薦好課: