成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

Python 爬蟲(chóng)——抖音App視頻抓包

tinna / 3765人閱讀

摘要:所以我們就要通過(guò)抓包工具來(lái)獲取到請(qǐng)求與響應(yīng)的信息。關(guān)于抓包工具有等。中的可以根據(jù)自己要爬取的用戶(hù)更改,可以通過(guò)把用戶(hù)分享到微信,然后在瀏覽器中打開(kāi)鏈接,在打開(kāi)的中可以看到用戶(hù)的。運(yùn)行后就可以得到視頻列表有任何疑問(wèn),歡迎加我微信交流。

APP抓包

前面我們了解了一些關(guān)于 Python 爬蟲(chóng)的知識(shí),不過(guò)都是基于 PC 端瀏覽器網(wǎng)頁(yè)中的內(nèi)容進(jìn)行爬取?,F(xiàn)在手機(jī) App 用的越來(lái)越多,而且很多也沒(méi)有網(wǎng)頁(yè)端,比如抖音就沒(méi)有網(wǎng)頁(yè)版,那么上面的視頻就沒(méi)法批量抓取了嗎?

答案當(dāng)然是 No!對(duì)于 App 來(lái)說(shuō)應(yīng)用內(nèi)的通信過(guò)程和網(wǎng)頁(yè)是類(lèi)似的,都是向后臺(tái)發(fā)送請(qǐng)求,獲取數(shù)據(jù)。在瀏覽器中我們打開(kāi)調(diào)試工具就可以看到具體的請(qǐng)求內(nèi)容,在 App 中我們無(wú)法直接看到。所以我們就要通過(guò)抓包工具來(lái)獲取到 App 請(qǐng)求與響應(yīng)的信息。關(guān)于抓包工具有 Wireshark,Fiddler,Charles等。今天我們講一下如何用 Fiddler 進(jìn)行手機(jī) App 的抓包。

Fiddler 的工作原理相當(dāng)于一個(gè)代理,配置好以后,我們從手機(jī) App 發(fā)送的請(qǐng)求會(huì)由 Fiddler 發(fā)送出去,服務(wù)器返回的信息也會(huì)由 Fiddler 中轉(zhuǎn)一次。所以通過(guò) Fiddler 我們就可以看到 App 發(fā)給服務(wù)器的請(qǐng)求以及服務(wù)器的響應(yīng)了。

Fiddler 安裝配置

我們安裝好 Fiddler 后,首先在菜單 Tool>Options>Https 下面的這兩個(gè)地方選上。

然后在 Connections 標(biāo)簽頁(yè)下面勾選上 Allow remote computers to connect,允許 Fiddler 接受其他設(shè)備的請(qǐng)求。
同時(shí)要記住這里的端口號(hào),默認(rèn)是 8088,到時(shí)候需要在手機(jī)端填。

配置完畢,保存后,一定關(guān)掉 Fiddler 重新打開(kāi)。

手機(jī)端配置

確保手機(jī)和電腦在同一個(gè)局域網(wǎng)中,我們先看下計(jì)算機(jī)的 IP 地址,在 cmd 中輸入 ipconfig 就可以看到。我電腦用的是無(wú)線網(wǎng),所以 IP 地址為 192.168.1.3。

打開(kāi)手機(jī)無(wú)線連接,選擇要連接的熱點(diǎn)。長(zhǎng)按選擇修改網(wǎng)絡(luò),在代理中填上我們電腦的 IP 地址和 Fiddler 代理的端口。如下圖所示:

保存后,在手機(jī)原生瀏覽器打開(kāi) http://192.168.1.3:8008 ,就是上面我們的計(jì)算機(jī) IP 和端口。這一步我在夸克瀏覽器中打開(kāi)是不行的,一定要到手機(jī)自帶的瀏覽器打開(kāi)。

打開(kāi)后,點(diǎn)擊下圖鏈接,下載證書(shū),然后安裝證書(shū)。

電腦端瀏覽器也需要打開(kāi)此地址,安裝證書(shū),方便以后對(duì)瀏覽器的抓包操作。

安裝后就萬(wàn)事 OK 了,可以用手機(jī)打開(kāi) App ,在 Fiddler 上愉快的抓包了。

抓包

我們打開(kāi)抖音 App,會(huì)發(fā)現(xiàn) Fiddler 上出來(lái)很多連接。我們先清空沒(méi)用的連接信息,然后滑動(dòng)到某個(gè)人的主頁(yè)上,來(lái)查看他發(fā)布過(guò)的所有視頻,同時(shí)在 Fiddler 上找到視頻鏈接。

經(jīng)過(guò)觀察篩選我們可以看出上圖就是我們需要的請(qǐng)求地址,這個(gè)地址其實(shí)是可以在瀏覽器上打開(kāi)的,但是我們需要改一下瀏覽器的User-Agent,我用的是Firefox的插件,打開(kāi)后和 Fiddler 右邊的信息是一致的。我們看下 Fiddler 右邊該請(qǐng)求的響應(yīng)信息。

看到返回了一個(gè) JSON 格式的信息,其中aweme_list 就是我們需要的視頻地址,has_more=1 表示往上滑動(dòng)還會(huì)加載更多。之后就可以寫(xiě)代碼了。

代碼

代碼很簡(jiǎn)單,和我們前幾篇講的一樣,直接用 requests 請(qǐng)求相應(yīng)鏈接即可。

代碼僅做為一個(gè)簡(jiǎn)單的例子,僅僅下載當(dāng)前頁(yè)面的內(nèi)容,如果要下載全部的視頻,可以根據(jù)當(dāng)次返回 JSON 結(jié)果中的 has_more 和 max_cursor 參數(shù)構(gòu)造出新的 URL 地址不斷的下載。

URL 中的 user_id 可以根據(jù)自己要爬取的用戶(hù)更改,可以通過(guò)把用戶(hù)分享到微信,然后在瀏覽器中打開(kāi)鏈接,在打開(kāi)的 URL 中可以看到用戶(hù)的 user_id。

import requests
import urllib.request
def get_url(url):
    headers = {"user-agent": "mobile"}
    req = requests.get(url, headers=headers, verify=False)
    data = req.json()
    for data in data["aweme_list"]:
        name = data["desc"] or data["aweme_id"]
        url = data["video"]["play_addr"]["url_list"][0]
        urllib.request.urlretrieve(url, filename=name + ".mp4")


if __name__ == "__main__":
    get_url("https://api.amemv.com/aweme/v1/aweme/post/?max_cursor=0&user_id=98934041906&count=20&retry_type=no_retry&mcc_mnc=46000&iid=58372527161&device_id=56750203474&ac=wifi&channel=huawei&aid=1128&app_name=aweme&version_code=421&version_name=4.2.1&device_platform=android&ssmix=a&device_type=STF-AL10&device_brand=HONOR&language=zh&os_api=26&os_version=8.0.0&uuid=866089034995361&openudid=008c22ca20dd0de5&manifest_version_code=421&resolution=1080*1920&dpi=480&update_version_code=4212&_rticket=1548080824056&ts=1548080822&js_sdk_version=1.6.4&as=a1b51dc4069b2cc6252833&cp=dab7ca5f68594861e1[wIa&mas=014a70c81a9db218501e1433b04c38963ccccc1c4cac4c6cc6c64c")

運(yùn)行后就可以得到視頻列表:

有任何疑問(wèn),歡迎加我微信交流。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/43048.html

相關(guān)文章

  • 如何用Python抖音上的小姐姐

    摘要:比如分鐘破譯朋友圈測(cè)試小游戲文章里用的方法但有些根本就沒(méi)有提供網(wǎng)頁(yè)端,比如今年火得不行的抖音。所以常用的方式就是通過(guò)在電腦上裝一些抓包軟件,將手機(jī)上的網(wǎng)絡(luò)請(qǐng)求全部顯示出來(lái)??偨Y(jié)下,重點(diǎn)是的抓取,關(guān)鍵是配置代理證書(shū),難點(diǎn)是對(duì)請(qǐng)求的分析。 爬蟲(chóng)的案例我們已講得太多。不過(guò)幾乎都是 網(wǎng)頁(yè)爬蟲(chóng) 。即使有些手機(jī)才能訪問(wèn)的網(wǎng)站,我們也可以通過(guò) Chrome 開(kāi)發(fā)者工具 的 手機(jī)模擬 功能來(lái)訪問(wèn),以便...

    FingerLiu 評(píng)論0 收藏0
  • Python 網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn):抖音視頻去水印爬蟲(chóng)詳解

    摘要:我們知道,在抖音中下載到的視頻是有水印的,這就催生出了很多抖音短視頻去水印的解析網(wǎng)站,小程序等。禁止重定向,設(shè)置運(yùn)行結(jié)果,是一個(gè)標(biāo)簽,便是重定向后的地址。 我們知道...

    hlcc 評(píng)論0 收藏0
  • 首次公開(kāi),整理12年積累的博客收藏夾,零距離展示《收藏夾吃灰》系列博客

    摘要:時(shí)間永遠(yuǎn)都過(guò)得那么快,一晃從年注冊(cè),到現(xiàn)在已經(jīng)過(guò)去了年那些被我藏在收藏夾吃灰的文章,已經(jīng)太多了,是時(shí)候把他們整理一下了。那是因?yàn)槭詹貖A太亂,橡皮擦給設(shè)置私密了,不收拾不好看呀。 ...

    Harriet666 評(píng)論0 收藏0
  • Python爬蟲(chóng)120例之案例58,手機(jī)APP爬蟲(chóng),“武器庫(kù)”的準(zhǔn)備and皮皮蝦APP的測(cè)試

    摘要:在爬蟲(chóng)的編寫(xiě)過(guò)程中使用最多的是,它表示查看請(qǐng)求和響應(yīng)的數(shù)據(jù)內(nèi)容。后續(xù)在打開(kāi)剛才加載的軟件,例如本次案例打開(kāi)的是皮皮蝦,開(kāi)啟,成功捕獲到如下請(qǐng)求,這個(gè)地方就是最終的接口了。復(fù)制接口地址,在本地瀏覽器打開(kāi),得到皮皮蝦的視頻評(píng)論數(shù)據(jù)。 ...

    roundstones 評(píng)論0 收藏0
  • 如何快速掌握Python數(shù)據(jù)采集與網(wǎng)絡(luò)爬蟲(chóng)技術(shù)

    摘要:通過(guò)本文的學(xué)習(xí),可以快速掌握網(wǎng)絡(luò)爬蟲(chóng)基礎(chǔ),結(jié)合實(shí)戰(zhàn)練習(xí),寫(xiě)出一些簡(jiǎn)單的爬蟲(chóng)項(xiàng)目。從技術(shù)手段來(lái)說(shuō),網(wǎng)絡(luò)爬蟲(chóng)有多種實(shí)現(xiàn)方案,如。二網(wǎng)絡(luò)爬蟲(chóng)技術(shù)基礎(chǔ)在本次課中,將使用技術(shù)手段進(jìn)行項(xiàng)目的編寫(xiě)。 摘要:本文詳細(xì)講解了python網(wǎng)絡(luò)爬蟲(chóng),并介紹抓包分析等技術(shù),實(shí)戰(zhàn)訓(xùn)練三個(gè)網(wǎng)絡(luò)爬蟲(chóng)案例,并簡(jiǎn)單補(bǔ)充了常見(jiàn)的反爬策略與反爬攻克手段。通過(guò)本文的學(xué)習(xí),可以快速掌握網(wǎng)絡(luò)爬蟲(chóng)基礎(chǔ),結(jié)合實(shí)戰(zhàn)練習(xí),寫(xiě)出一些簡(jiǎn)單的...

    W4n9Hu1 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<