這個夏天,《長安十二時辰》火了。 易烊千璽、雷佳音主演;馬伯庸同名小說改編。 耗巨資花費七個月時間打造七十多畝長安城。 這部劇史料嚴謹,造型考究,堪稱良心製做。 目前豆瓣評分也達到8.6的高分。git
故事主要是講述了唐天寶三載,上元節當日的帝都長安。在一派歌舞昇平的繁華盛景中,一羣偷偷潛入的突厥狼衛醞釀着滅城的陰謀。只有一個死囚犯能挽救長安,時限爲十二個時辰,進而引起驚心動魄的故事。 github
因最近恰好咱們在講爬蟲與數據分析,因此就想用咱們現代的大案牘術來分析一下這不電視劇到底爲何會火,你們都對這部電視劇的評價是什麼樣的?(全部彈幕最高頻的900個詞) 編程
豬哥將會詳細的講解每一步的過程,但願感興趣的同窗能夠認真閱讀,而後本身動手實踐,這樣才能真的學習到知識。json
本教程只爲學習交流,不得用於商用獲利,後果自負! 若有侵權或者對任何公司或我的形成不利影響,請告知刪除跨域
第一步:打開某酷網站,而後點擊電視劇播放,在頁面中鼠標右鍵選擇檢查(或F12)調出瀏覽器的調試窗口。 瀏覽器
Headers
按鈕,查看請求url,而且注意請求頭中的
Referer
和
User-Agent
參數。
URL找到以後咱們即可以開始coding了,仍是老規矩:先從一條數據的抓取、提取、保存,這些都沒問題以後咱們再研究批量抓取。服務器
這裏咱們依然是用咱們的requests
庫來操做,不知道requests庫是什麼東西的老鐵們先看看這篇文章:requests庫介紹。 cookie
第一步:提取json數據 咱們觀察返回的數據會發現,和上一篇同樣,跨域請求都是用的是jsonp,因此咱們須要對返回的數據進行稍微的截取,就是將外面的jQuery111203412576115734338_1562833192066(
和最後的)
去掉,只保留中間的json數據。 數據結構
r.text.index('(')
獲取到了回調函數的左括號的角標,而後再用這個角標去作切片,這樣的好處是能夠通用,即便jsonp返回函數名長度改變也不影響。
第二步:提取彈幕數據 獲得json以後,咱們就來分析彈幕數據在哪裏,咱們能夠在瀏覽器的調試窗口的Preview
裏面查看
content
字段就是實際的彈幕內容,好那咱們用json把他們提取並打印出來。
想要的數據提取出來以後,咱們就能夠把數據保存。數據保存咱們仍是使用文件來保存,緣由是操做方便,知足需求。
完成一次請求請求的爬取、提取、保存以後,咱們來研究下如何批量保存數據。這裏和其餘批量爬取有所區別:如何爬取多集的批量數據?
在遇到問題和困難時,豬哥老是喜歡把事情或者工做量化,而後再細化,分步解決!
這裏咱們就把批量爬取分爲兩步:第一步批量爬取一集的全部彈幕;第二步爬取多集的彈幕! 。
第一步:爬取某一集全部彈幕 批量爬取的關鍵就在於找到分頁參數,找分頁的技巧就是:比較兩個請求url的參數,看看有何不一樣。
mat
參數不一樣,並且仍是依次遞增的趨勢,這個參數即是咱們尋找的分頁參數(其實mat參數表示分鐘數,表示獲取第幾分鐘的彈幕),找到分頁參數後咱們就能夠對原方法改造,改造思路:
將原url中分頁參數變爲可變參數,由方法傳入。而後新建一個批量爬取的方法,循環調用單次爬取方法,每次調用傳入頁數便可!
iid=1061156738
、第二集的
iid=1061112026
,可是這個
iid
參數並非遞增,如何找到規律?
這時候咱們仍是要回到網頁中尋找答案,咱們複製第一集的iid值1061156738
到瀏覽器的調試窗口搜索,找到iid就是某接口的vid
值。
這裏須要引入另外一個請求頭:Cookie
,Cookie是幹什麼的?
由於HTTP協議是無狀態協議,也就是說下次再請求服務器並不知道你是誰,因此就用Cookie和Seesion來記錄狀態,最簡單的例子就是用戶登陸後,服務器就給瀏覽器遺傳一串加密字符串(key),而後服務器本身緩存一個key-value,這樣瀏覽器每次來請求都帶上這個key,服務器就知道你是哪一個用戶!
因爲篇幅有限今天只給你們簡單介紹,考慮其重要性,後面豬哥會專門寫一篇文章介紹Cookie。
那咱們去哪裏找Cookie呢?答案固然是瀏覽器咯!
可是這種表格形式的根本沒法複製,有沒有什麼小技巧能方便咱們複製Cookie嗎?固然有,咱們點擊瀏覽器調試窗口的Console
按鈕,而後輸入document.cookie
就能夠看到所有Cookie啦,直接複製出來就能夠,是否是很方便!
表明集數的id拿到了,如今咱們就能夠雙層循環去爬全部的彈幕啦,上代碼。
咱們要清洗什麼數據?其實這個事先很難猜到,因此咱們不作數據清洗直接生成雲詞看看會是什麼效果,而後再作調整。關於雲詞的生成介紹豬哥在上篇爬取京東商品評價並生成詞雲已經爲你們講過!
從上面的詞雲圖中咱們能夠分析出:
目前此劇已更新完第一季(20集),真的是一部國產良心劇,畫質、服裝、禮節、拍攝、劇本、演技都堪稱一流,推薦你們看看!
咱們來從技術層面分析總結一下今天這篇文章,本篇文章看似與上一篇爬取京東商品評價並生成詞雲流程很相似,可是更難一點:
週末、瓜子花生和啤酒 、看劇編程兩不誤,人生豈不美滋滋!