摘要:用戶就我們這一個宿舍而其中電影的資源則是選擇來自有大量電影電視劇信息的豆瓣。爬蟲應對反爬蟲機制目前來說豆瓣的反爬蟲機制算是可以接受。
前言
前段時間和室友鬧劇荒,于是萌生出一種做個私人化推薦系統想法。(用戶就我們這一個宿舍)而其中電影的資源則是選擇來自有大量電影電視劇信息的豆瓣。
目前,電影的信息已經抓取完畢,共有11159條JSON格式的數據,內容包括:
題目
時長
類型
導演
主演
地區
評分
2-3條短評
期間自己琢磨著一些推薦系統的算法,但又不想讓這一萬多條空閑著,于是期間跑了一個簡單的數據分析的腳本,沒有高大上的算法,只是做了簡單的統計。好吧,我承認我題目起DM二字確實有標題黨de意思。如果你還是感興趣,歡迎往下看。
目前來說豆瓣的反爬蟲機制算是可以接受。你只需做到以下兩點獲取信息應該不成問題。
請求帶上頭部信息,尤其記得帶上自己的cookie。
請求次數別太頻繁,除非你的爬蟲可以破解豆瓣的驗證碼問題。
任務隊列我的爬蟲采用了廣度優先的做法。你在獲取一個電影頁面的時候,同時會帶有同類或相似影片的連接,將這些當成下一個訪問點。
在訪問的時候,你可能會遇到超時的問題,這時不要舍棄該URL,應對捕獲超時異常后重新將URL回到任務隊列的尾部,如果你直接舍棄了這個URL,會導致最后的結果有嚴重的數據缺失。比如我在第一次沒考慮到這點,就只爬取到5000多條,少了將近一半。
另外一個要考慮到的就是,你必須記錄已經訪問過的URL,否則你的爬蟲就會一直在死循環。
做到以上,應該就沒太大的問題了。
現在我們想看看演員和好片,爛片之間的關系(各選出前5名)。
現在以7分為標準
小于7分的
大于7分的
全部都是日本演員的名稱。這里的補充說明一下,因為豆瓣并無顯著信息表明是電視劇還是電影,所以
這數據在意料之外,比如說為什么好片沒有某些美國演員的名字,壞片沒有某些演員的名字,都可能是因為數據集中不僅僅是電影信息,同時混雜了大量的日劇信息有關。
不過當我把評價標準降低到5分時倒是發生了好玩的事情。
大于5分的
可以說,變化不算特別的大,然后我們再看看小于5分的,前5名演員
呵呵……
然后我們再來看看在5分的情況下,地區與好片,爛片的關系。
先來看好的
這張圖就有些符合我們的預期了,接下來再看看壞的。
我只能說這個更是在意料之中了。就個人感受來說,國產雖然近年有所好轉,不過明顯還得繼續努力……
接下來可以看看類型和影片時長的關系,在每個時間段中,選出前5名做代表。
每個時間段中,選出數量最多的前五名,制成餅狀圖,一目了然。可以發現其實每個時間段中劇情這個類別都是占了最大份額,平常看片的時候就感覺劇情這個分類莫名其妙,你要我說,我也實在說不出啥這類型片有啥特征。
后話在知乎的回答
其實我還做了,像導演和好片爛片的關系,時長和地區的關系等等,這里礙于篇幅,不一一舉例了,感興趣的可以到我的github上獲取爬蟲和數據分析的腳本。
github地址
這個項目會記錄我學習機器學習和數據挖掘這個過程的一些小作品,關于github上的BetaMeow的介紹可以看這里,至于本文說的內容在DouBanMovie的目錄下。
如果你也有ML或DM的作品或小項目,歡迎推薦給我,我們可以互相給出友情鏈接,互相交流學習。如果你只是單純對我的項目感興趣,也歡迎watch或star支持一下,謝謝大家。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/37921.html
摘要:前言在上篇文章豆瓣電影,電視劇實戰中提及到,我和室友們產生了劇荒,萌生出要做一個個人用的推薦系統,解決劇荒的問題的想法,經過一輪的死纏爛打,這個個人推薦系統終于成型了。 前言 在上篇文章豆瓣電影,電視劇DM實戰中提及到,我和室友們產生了劇荒,萌生出要做一個個人用的推薦系統,解決劇荒的問題的想法,經過一輪的死纏爛打,這個個人推薦系統終于成型了。 今天來分享一下心得,對此感興趣的朋友可以自...
摘要:首發于我的博客線程池進程池網絡編程之同步異步阻塞非阻塞后端掘金本文為作者原創,轉載請先與作者聯系。在了解的數據結構時,容器可迭代對象迭代器使用進行并發編程篇二掘金我們今天繼續深入學習。 Python 算法實戰系列之棧 - 后端 - 掘金原文出處: 安生??? 棧(stack)又稱之為堆棧是一個特殊的有序表,其插入和刪除操作都在棧頂進行操作,并且按照先進后出,后進先出的規則進行運作。 如...
閱讀 3706·2021-11-11 11:00
閱讀 2184·2021-10-08 10:05
閱讀 2691·2021-10-08 10:04
閱讀 3213·2021-09-30 09:48
閱讀 3787·2021-09-27 14:10
閱讀 1709·2021-09-09 09:33
閱讀 2103·2019-08-30 15:55
閱讀 1606·2019-08-30 13:53