抖音對指定用用戶的所有視頻抓取策略
一伦忠、抖音app數(shù)據(jù)接口分析
方案1:接口參數(shù)有加密野舶,需脫殼app進(jìn)行反編譯破解加密參數(shù)。(難度較大罢杉,不容易實現(xiàn))
方案2:使用appium自動化框架配合mitmdump中間人代理截取手機(jī)發(fā)送的數(shù)據(jù)包粪小,從而獲取數(shù)據(jù)大磺。(容易實現(xiàn),且不容易被識別反爬)
綜上所述我選用的實現(xiàn)方案是方案2
二探膊、可能需要的資源
Android模擬器或者真機(jī)
長期有效代理
三、實現(xiàn)原理流程圖
三待榔、具體實現(xiàn)過程
1逞壁、首先利用fiddler抓包工具分析抖音app的主頁滑動的請求接口
2、設(shè)置手機(jī)或者模擬器的代理為本機(jī)ip和端口 8888(fiddler監(jiān)控端口)
3锐锣、手機(jī)點到監(jiān)測賬號主頁動態(tài)頁面腌闯,(因為動態(tài)頁面的數(shù)據(jù)跟作品是相對應(yīng)的,而所有 作品的接口反爬比較嚴(yán)格雕憔,所以采用動態(tài)接口)手動向下滑動觸發(fā)請求數(shù)據(jù)接口(后 期可通過appium實現(xiàn)自動化操作)
4姿骏、對抖音app數(shù)據(jù)請求接口進(jìn)行抓包分析
5、找到具體接口之后編寫mitmproxy監(jiān)控腳本準(zhǔn)備攔截請求和解析入庫的操作
5斤彼、設(shè)置模擬器或者手機(jī)的代理為本機(jī)ip和自定義的端口 9090(mitmproxy監(jiān)控此端口)
6分瘦、運(yùn)行mitmproxy監(jiān)控腳本監(jiān)控手機(jī) 9090 端口發(fā)出的請求
7. 手動滑動抖音app視頻動態(tài)頁刷新請求會看到數(shù)據(jù)已經(jīng)被截獲了(可利用appium 自動化實現(xiàn)滑動)