App下載

《大秦賦》很火?,咱用Python扒拉一下它

猿友 2020-12-26 16:14:59 瀏覽數(shù) (2773)
反饋

大家好呀,我是你們親愛(ài)的 w3cschool 小編。

最近,最火的電視劇莫過(guò)于《大秦賦》了,小編也是一直在追,12 月 1 號(hào)開(kāi)播,那口碑杠杠的??扇^(guò)后,小編那是直呼好家伙啊,我****。相信看過(guò)小伙伴們和我是一樣的,直呼好家伙了。該劇在豆瓣上的評(píng)分也由最初的 8.9 分,降到了現(xiàn)今的 6.0 分,可謂是高走低開(kāi),觀者全程**。

圖片4

于是乎小編忍不住的用 Python 爬取了豆瓣上《大秦賦》的評(píng)論相關(guān)數(shù)據(jù),進(jìn)行了一波分析,也給大家分享一下思路。

一、數(shù)據(jù)爬取

既然要做分析,那肯定得先搞到數(shù)據(jù)。小編選擇的是豆瓣網(wǎng)下手,原因嘛,很簡(jiǎn)單,它家數(shù)據(jù)全吶,反扒難度還不大。我們主要要獲取的信息為評(píng)論的星級(jí)以及評(píng)論時(shí)間,順帶將評(píng)論者及評(píng)語(yǔ)咱也一起扒拉下來(lái)。

圖片1

技術(shù)方面,小編用的是requests、bs4、pandas、time、matplotlib五個(gè)庫(kù),工具為Pychram和Anaconda jupyter nootbook。

開(kāi)始編寫(xiě)前我們先來(lái)看下網(wǎng)站頁(yè)面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

小伙伴們看出來(lái)了么,不難發(fā)現(xiàn)頁(yè)面變換中僅有 start 是不一樣的,所以在后續(xù)翻頁(yè)操作中我們只需要修改 start 參數(shù)即可,那么小編在這給大家一個(gè)問(wèn)題,首頁(yè) url 如何解決呢?

關(guān)于反扒:

對(duì)于豆瓣的爬取措施,其實(shí)找到真實(shí)的短評(píng)鏈接,是極其容易的。但是小編建議大家要登錄后攜帶 cookie 信息進(jìn)行數(shù)據(jù)的爬取,不然豆瓣會(huì)識(shí)別你為爬蟲(chóng)封禁你的 ip,至于該放什么小編給大家一個(gè)參考:

 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 信息在哪呢,我們打開(kāi)網(wǎng)頁(yè)摁下 F12,或者鼠標(biāo)右鍵選擇檢查,點(diǎn)擊 NetWork 然后刷新一下界面,找到刷新出來(lái)的第一個(gè)信息,然后扒拉一下就能找到啦。

圖片2

補(bǔ)充一點(diǎn):小編本打算將《大秦賦》的所有短評(píng)都給扒拉下來(lái)的,可最終也只爬取到了 500 條,這應(yīng)該也是豆瓣的反扒措施(有大神的話,可以下去研究一下如何破解,然后告訴小編)。


二、數(shù)據(jù)處理

1、剔除重復(fù)值

采用如下命令查看重復(fù)項(xiàng)數(shù)量:

np.sum(df.duplicated()) #計(jì)算重復(fù)數(shù)量

采用如下命令刪除所有變量都重復(fù)的行:

df.drop_duplicates(keep = False) #刪除所有變量都重復(fù)的行

結(jié)果如下:

圖片3

可以看出,得到的結(jié)果還是很漂亮的。


三、可視化分析

俗話說(shuō):“字不如表,表不如圖”。我們所爬取到的數(shù)據(jù),最終還是要有一個(gè)可視化的效果呈現(xiàn),才能夠讓我們分析出數(shù)據(jù)背后所存在的規(guī)律,讓我們有一個(gè)清晰的認(rèn)識(shí)。下面小編從以下幾個(gè)方面來(lái)對(duì)我們所獲取到的數(shù)據(jù)進(jìn)行數(shù)據(jù)可視化分析。

1、評(píng)論數(shù)隨時(shí)間的變化趨勢(shì)

54af61727d2b1f748089aacd96c24132


從圖中我們不難看出:短評(píng)數(shù)量在 12 月 4 日之前,一直處于上升趨勢(shì),在 12 月 4 日達(dá)到頂峰。和小編的觀看情感變化是如出一轍,從期待到失望。


2、星級(jí)評(píng)分的餅圖

692d60782b708547afa47c3968c3f6da

從圖中可以看出:大家對(duì)于該劇的評(píng)價(jià)還是很低的,1 星和 2 星基本占據(jù)了整個(gè)餅圖,也就是說(shuō)該劇并沒(méi)有得到大家的認(rèn)可。好了不多說(shuō)了小編就是那個(gè)一星貢獻(xiàn)者。

推薦好課:

Python 數(shù)據(jù)分析入門(mén)案例講解


0 人點(diǎn)贊