您好,登錄后才能下訂單哦!
這篇文章主要講解了“python怎么抓取抖音app”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“python怎么抓取抖音app”吧!
抓取app的話,首先需要一個手機或者在自己的電腦上安裝模擬器,模擬器你需要知道各個模擬器的默認端口
第二步,抓包
抓包的工具很多,找到自己覺得方便的就行,我這里推薦大家的是mitmproxy
mitmproxy是一個支持HTTP和HTTPS的抓包程序,有類似Fiddler、Charles的功能,只不過它是一個控制臺的形式操作。
mitmproxy還有兩個關聯(lián)組件。一個是mitmdump,它是mitmproxy的命令行接口,利用它我們可以對接Python腳本,用Python實現(xiàn)監(jiān)聽后的處理。另一個是mitmweb,它是一個Web程序,通過它我們可以清楚觀察mitmproxy捕獲的請求。
手機和PC在同一個局域網(wǎng)內,設置代理為mitmproxy的代理地址,這樣手機在訪問互聯(lián)網(wǎng)的時候流量數(shù)據(jù)包就會流經(jīng)mitmproxy,mitmproxy再去轉發(fā)這些數(shù)據(jù)包到真實的服務器,服務器返回數(shù)據(jù)包時再由mitmproxy轉發(fā)回手機,這樣mitmproxy就相當于起了中間人的作用,抓取到所有Request和Response,另外這個過程還可以對接mitmdump,抓取到的Request和Response的具體內容都可以直接用Python來處理,比如得到Response之后我們可以直接進行解析,然后存入數(shù)據(jù)庫,這樣就完成了數(shù)據(jù)的解析和存儲過程。
pip3 install mitmproxy
對于mitmproxy來說,如果想要截獲HTTPS請求,就需要設置證書。mitmproxy在安裝后會提供一套CA證書,只要客戶端信任了mitmproxy提供的證書,就可以通過mitmproxy獲取HTTPS請求的具體內容,否則mitmproxy是無法解析HTTPS請求的。
首先,運行以下命令產(chǎn)生CA證書,并啟動mitmdump:進入到目錄cmd中直接運行,
mitmdump
然后在用戶目錄下找到CA證書
證書一共5個,表1-1簡要說明了這5個證書。
表1-1 5個證書及其說明
mitmproxy-ca.pem
PEM格式的證書私鑰
mitmproxy-ca-cert.pem
PEM格式證書,適用于大多數(shù)非Windows平臺
mitmproxy-ca-cert.p12
PKCS12格式的證書,適用于Windows平臺
mitmproxy-ca-cert.cer
與mitmproxy-ca-cert.pem相同,只是改變了后綴,適用于部分Android平臺
mitmproxy-dhparam.pem
PEM格式的秘鑰文件,用于增強SSL安全性
Windows
雙擊mitmproxy-ca.p12,就會出現(xiàn)導入證書的引導頁,如圖1-61所示。
直接點擊“下一步”按鈕即可,會出現(xiàn)密碼設置提示,
這里不需要設置密碼,直接點擊“下一步”按鈕即可。
接下來需要選擇證書的存儲區(qū)域,這里點擊第二個選項“將所有的證書都放入下列存儲”,
然后點擊“瀏覽”按鈕,選擇證書存儲位置為“受信任的根證書頒發(fā)機構”,
接著點擊“確定”按鈕,然后點擊“下一步”按鈕。
最后,如果有安全警告彈出,直接點擊“是”按鈕即可。
這樣就在Windows下配置完CA證書了。
圖我都沒有貼,感覺沒必要,基本都是下一步,傻瓜式
將剛才,我圖中圈出來的發(fā)到手機上安裝,mitmproxy-ca-cert.cer。如果這個在手機上安裝失敗,則去將mitmproxy-ca-cert.pem發(fā)到手機上安裝。
可能會有安全警告,直接忽略就行,完成。
配置代理IP。連接同一局域網(wǎng),在WiFi的設置中添加代理IP和端口,代理IP是電腦的IP,端口是抓包監(jiān)控的端口。
cmd運行著段代碼 mitmdump -s decode_douyin_fans.py -p 8889 說明:mitmdump -s py文件 -p 模擬器代理端口
也可以直接運行mitmdump, 默認端口是8080;
可以參考這個:
import json
# 這個地方必須這么寫 函數(shù)名:response
def response(flow):
# 通過抓包軟包軟件獲取請求的接口
if 'aweme/v1/user/follower/list' in flow.request.url:
# 數(shù)據(jù)的解析
for user in json.loads(flow.response.text)['followers']:
douyin_info = {}
douyin_info['share_id'] = user['uid']
douyin_info['douyin_id'] = user['short_id']
douyin_info['nickname'] = user['nickname']
print('粉絲列表:', douyin_info, '---------------------------')
感謝各位的閱讀,以上就是“python怎么抓取抖音app”的內容了,經(jīng)過本文的學習后,相信大家對python怎么抓取抖音app這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。