1、背景介紹
?電影數(shù)據(jù)的采集要從我的實習工作開始,當時因為要講一堂關于數(shù)據(jù)分析的課,一直沒有找到合適的數(shù)據(jù),直到在網(wǎng)上看到有關豆瓣電影數(shù)據(jù)的相關分析。自從實習用了豆瓣電影實例作為數(shù)據(jù)分析課堂的比較好的一堂課之后,我一直想辦法每年都可以固定的采集新增加年份的數(shù)據(jù),于是我有了篇技術文章和帖子。
2、基本要求
簡單HTTP協(xié)議(理解GET和POST請求)
一門數(shù)據(jù)庫,將數(shù)據(jù)存貯,基本的sql語句
python或者其他一門編程語言,我采用簡單易用的python
3、過程介紹
豆瓣的電影數(shù)據(jù),每一個電影都有一個id,用來標志不同的電影數(shù)據(jù),我首先采集所有電影的id數(shù)據(jù),然后進入具體的電影id頁面,獲取該電影的詳細信息,每個條目信息獲取后,構造sql語句,最后將采集的數(shù)據(jù)保存插入數(shù)據(jù)庫即可。
(1).取得所有電影的ID條目信息
首先,打開豆瓣電影分類頁面,該頁面可以對所有豆瓣電影數(shù)據(jù)分類進行查看。點擊“加載更多”便會看到后面加載更多的電影數(shù)據(jù)。
打開瀏覽器,按F12,點擊加載更多,可以看到瀏覽器發(fā)送了一個get請求,大概如下:
查看詳細信息,發(fā)現(xiàn)get傳參,數(shù)據(jù)如下:
range表示評分范圍,tags表示分類標簽,start表示下一次請求20個數(shù)據(jù)的開始值
(2).取得具體電影ID的詳細信息
1、使用網(wǎng)頁,打開獲取的條目中的網(wǎng)頁2、使用豆瓣api,獲取數(shù)據(jù)。
獲取所有數(shù)據(jù)id,電影id條目,點擊豆瓣電影分類標簽可以獲取所有電影數(shù)據(jù)json數(shù)據(jù)。
獲取具體某一些電影的條目信息,有兩種辦法。
各有優(yōu)缺點,要求每分鐘請求次數(shù)不超過40次。否則會被封號的。。。
遇到的一些問題:
1、采用API獲取json電影條目信息,請求一次休息5s,不會被封IP
2、請求網(wǎng)頁數(shù)據(jù)休息5s會被檢測異常請求,考慮使用代理庫進行數(shù)據(jù)采集
相關的參考:
更新中,請期待哦