摘要:所以我們就要通過抓包工具來獲取到請求與響應的信息。關于抓包工具有等。中的可以根據自己要爬取的用戶更改,可以通過把用戶分享到微信,然后在瀏覽器中打開鏈接,在打開的中可以看到用戶的。運行后就可以得到視頻列表有任何疑問,歡迎加我微信交流。
APP抓包
前面我們了解了一些關于 Python 爬蟲的知識,不過都是基于 PC 端瀏覽器網頁中的內容進行爬取?,F在手機 App 用的越來越多,而且很多也沒有網頁端,比如抖音就沒有網頁版,那么上面的視頻就沒法批量抓取了嗎?
答案當然是 No!對于 App 來說應用內的通信過程和網頁是類似的,都是向后臺發送請求,獲取數據。在瀏覽器中我們打開調試工具就可以看到具體的請求內容,在 App 中我們無法直接看到。所以我們就要通過抓包工具來獲取到 App 請求與響應的信息。關于抓包工具有 Wireshark,Fiddler,Charles等。今天我們講一下如何用 Fiddler 進行手機 App 的抓包。
Fiddler 的工作原理相當于一個代理,配置好以后,我們從手機 App 發送的請求會由 Fiddler 發送出去,服務器返回的信息也會由 Fiddler 中轉一次。所以通過 Fiddler 我們就可以看到 App 發給服務器的請求以及服務器的響應了。
Fiddler 安裝配置我們安裝好 Fiddler 后,首先在菜單 Tool>Options>Https 下面的這兩個地方選上。
然后在 Connections 標簽頁下面勾選上 Allow remote computers to connect,允許 Fiddler 接受其他設備的請求。
同時要記住這里的端口號,默認是 8088,到時候需要在手機端填。
配置完畢,保存后,一定關掉 Fiddler 重新打開。
手機端配置確保手機和電腦在同一個局域網中,我們先看下計算機的 IP 地址,在 cmd 中輸入 ipconfig 就可以看到。我電腦用的是無線網,所以 IP 地址為 192.168.1.3。
打開手機無線連接,選擇要連接的熱點。長按選擇修改網絡,在代理中填上我們電腦的 IP 地址和 Fiddler 代理的端口。如下圖所示:
保存后,在手機原生瀏覽器打開 http://192.168.1.3:8008 ,就是上面我們的計算機 IP 和端口。這一步我在夸克瀏覽器中打開是不行的,一定要到手機自帶的瀏覽器打開。
打開后,點擊下圖鏈接,下載證書,然后安裝證書。
電腦端瀏覽器也需要打開此地址,安裝證書,方便以后對瀏覽器的抓包操作。
安裝后就萬事 OK 了,可以用手機打開 App ,在 Fiddler 上愉快的抓包了。
抓包我們打開抖音 App,會發現 Fiddler 上出來很多連接。我們先清空沒用的連接信息,然后滑動到某個人的主頁上,來查看他發布過的所有視頻,同時在 Fiddler 上找到視頻鏈接。
經過觀察篩選我們可以看出上圖就是我們需要的請求地址,這個地址其實是可以在瀏覽器上打開的,但是我們需要改一下瀏覽器的User-Agent,我用的是Firefox的插件,打開后和 Fiddler 右邊的信息是一致的。我們看下 Fiddler 右邊該請求的響應信息。
看到返回了一個 JSON 格式的信息,其中aweme_list 就是我們需要的視頻地址,has_more=1 表示往上滑動還會加載更多。之后就可以寫代碼了。
代碼代碼很簡單,和我們前幾篇講的一樣,直接用 requests 請求相應鏈接即可。
代碼僅做為一個簡單的例子,僅僅下載當前頁面的內容,如果要下載全部的視頻,可以根據當次返回 JSON 結果中的 has_more 和 max_cursor 參數構造出新的 URL 地址不斷的下載。
URL 中的 user_id 可以根據自己要爬取的用戶更改,可以通過把用戶分享到微信,然后在瀏覽器中打開鏈接,在打開的 URL 中可以看到用戶的 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")
運行后就可以得到視頻列表:
有任何疑問,歡迎加我微信交流。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/43048.html
摘要:比如分鐘破譯朋友圈測試小游戲文章里用的方法但有些根本就沒有提供網頁端,比如今年火得不行的抖音。所以常用的方式就是通過在電腦上裝一些抓包軟件,將手機上的網絡請求全部顯示出來。總結下,重點是的抓取,關鍵是配置代理證書,難點是對請求的分析。 爬蟲的案例我們已講得太多。不過幾乎都是 網頁爬蟲 。即使有些手機才能訪問的網站,我們也可以通過 Chrome 開發者工具 的 手機模擬 功能來訪問,以便...
摘要:我們知道,在抖音中下載到的視頻是有水印的,這就催生出了很多抖音短視頻去水印的解析網站,小程序等。禁止重定向,設置運行結果,是一個標簽,便是重定向后的地址。 我們知道...
摘要:時間永遠都過得那么快,一晃從年注冊,到現在已經過去了年那些被我藏在收藏夾吃灰的文章,已經太多了,是時候把他們整理一下了。那是因為收藏夾太亂,橡皮擦給設置私密了,不收拾不好看呀。 ...
摘要:在爬蟲的編寫過程中使用最多的是,它表示查看請求和響應的數據內容。后續在打開剛才加載的軟件,例如本次案例打開的是皮皮蝦,開啟,成功捕獲到如下請求,這個地方就是最終的接口了。復制接口地址,在本地瀏覽器打開,得到皮皮蝦的視頻評論數據。 ...
摘要:通過本文的學習,可以快速掌握網絡爬蟲基礎,結合實戰練習,寫出一些簡單的爬蟲項目。從技術手段來說,網絡爬蟲有多種實現方案,如。二網絡爬蟲技術基礎在本次課中,將使用技術手段進行項目的編寫。 摘要:本文詳細講解了python網絡爬蟲,并介紹抓包分析等技術,實戰訓練三個網絡爬蟲案例,并簡單補充了常見的反爬策略與反爬攻克手段。通過本文的學習,可以快速掌握網絡爬蟲基礎,結合實戰練習,寫出一些簡單的...
閱讀 1837·2023-04-25 14:49
閱讀 3117·2021-09-30 09:47
閱讀 3100·2021-09-06 15:00
閱讀 2224·2019-08-30 13:16
閱讀 1436·2019-08-30 10:48
閱讀 2668·2019-08-29 15:11
閱讀 1287·2019-08-26 14:06
閱讀 1663·2019-08-26 13:30