豆瓣電影,電視劇DM實戰

前言

前段時間和室友鬧劇荒,因而萌生出一種作個私人化推薦系統想法。(用戶就咱們這一個宿舍)而其中電影的資源則是選擇來自有大量電影電視劇信息的豆瓣。git

目前,電影的信息已經抓取完畢,共有11159條JSON格式的數據,內容包括:github

  • 題目算法

  • 時長segmentfault

  • 類型cookie

  • 導演機器學習

  • 主演學習

  • 地區spa

  • 評分3d

  • 2-3條短評code

期間本身琢磨着一些推薦系統的算法,但又不想讓這一萬多條空閒着,因而期間跑了一個簡單的數據分析的腳本,沒有高大上的算法,只是作了簡單的統計。好吧,我認可我題目起DM二字確實有標題黨de意思。若是你仍是感興趣,歡迎往下看。


爬蟲

應對反爬蟲機制

目前來講豆瓣的反爬蟲機制算是能夠接受。你只需作到如下兩點獲取信息應該不成問題。

  • 請求帶上頭部信息,尤爲記得帶上本身的cookie。

  • 請求次數別太頻繁,除非你的爬蟲能夠破解豆瓣的驗證碼問題。

任務隊列

個人爬蟲採用了廣度優先的作法。你在獲取一個電影頁面的時候,同時會帶有同類或類似影片的鏈接,將這些當成下一個訪問點。

在訪問的時候,你可能會遇到超時的問題,這時不要捨棄該URL,應對捕獲超時異常後從新將URL回到任務隊列的尾部,若是你直接捨棄了這個URL,會致使最後的結果有嚴重的數據缺失。好比我在第一次沒考慮到這點,就只爬取到5000多條,少了將近一半。

另一個要考慮到的就是,你必須記錄已經訪問過的URL,不然你的爬蟲就會一直在死循環。

作到以上,應該就沒太大的問題了。


數據分析結果

如今咱們想看看演員和好片,爛片之間的關係(各選出前5名)。

如今以7分爲標準

小於7分的

BAD

大於7分的

GOOD

所有都是日本演員的名稱。這裏的補充說明一下,由於豆瓣並沒有顯著信息代表是電視劇仍是電影,因此
這數據在乎料以外,好比說爲何好片沒有某些美國演員的名字,壞片沒有某些演員的名字,均可能是由於數據集中不只僅是電影信息,同時混雜了大量的日劇信息有關。

不過當我把評價標準下降到5分時卻是發生了好玩的事情。

大於5分的
GOOD2
能夠說,變化不算特別的大,而後咱們再看看小於5分的,前5名演員

BAD2
呵呵……

而後咱們再來看看在5分的狀況下,地區與好片,爛片的關係。

先來看好的

GOOD3

這張圖就有些符合咱們的預期了,接下來再看看壞的。

BAD3

我只能說這個更是在乎料之中了。就我的感覺來講,國產雖然近年有所好轉,不過明顯還得繼續努力……

接下來能夠看看類型和影片時長的關係,在每一個時間段中,選出前5名作表明。

TYPEANDRUNTIME

每一個時間段中,選出數量最多的前五名,製成餅狀圖,一目瞭然。能夠發現其實每一個時間段中劇情這個類別都是佔了最大份額,日常看片的時候就感受劇情這個分類莫名其妙,你要我說,我也實在說不出啥這類型片有啥特徵。

後話

在知乎的回答

其實我還作了,像導演和好片爛片的關係,時長和地區的關係等等,這裏礙於篇幅,不一一舉例了,感興趣的能夠到個人github上獲取爬蟲和數據分析的腳本。

github地址

這個項目會記錄我學習機器學習和數據挖掘這個過程的一些小做品,關於github上的BetaMeow的介紹能夠看這裏,至於本文說的內容在DouBanMovie的目錄下。

若是你也有ML或DM的做品或小項目,歡迎推薦給我,咱們能夠互相給出友情連接,互相交流學習。若是你只是單純對個人項目感興趣,也歡迎watch或star支持一下,謝謝你們。

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息