開篇:要想實現寫爬蟲,抓取到數據,首先我們應該分析客戶端和服務器的請求/響應,前提就是我們能監控到客戶端是如何與服務器交互的,下面來記錄下常見的三種情況下的抓包方法
1.PC端瀏覽器網頁抓包
網頁板抓包是最簡單和常見的,比如Google/Firfox/IE等瀏覽器自帶的開發者調試工具(F12)就可以滿足一部分需求,如果在請求前和響應后最些處理,比如修改瀏覽器發出的請求數據和修改服務器相應的數據,用F12開發這工具,就不能滿足我們的需求,這里我們引入Fiddler抓包工具,可以理解為本地的代理服務器,實現轉發客戶端和服務器的請求和響應
設置Fiddler:
打開Fiddler,在菜單欄,打開Tools --Options,前三個選項卡設置下,OK,默認的代理設置:127.0.0.1:8888
然后在瀏覽器端設置代理:127.0.0.1:8888,可抓取到網頁請求/響應,后續可以按需要在Fiddler端實現需求,比如:設置斷點,過濾請求,修改請求數據,修改響應數據,截獲JS等
2.手機端App抓包
手機端App抓包用Fiddler同樣很簡單,和上面PC瀏覽器抓包方式差不多,手機端要和PC在同一個局域網,手機Wifi設置代理,IP是PC機器的IP地址,比如:64.35.86.12,端口號是FIddler設置的端口號,一般都是8888,這樣手機端的所有網絡/響應請求都要經過FIddler抓發,這樣我們就可以針對某些鏈接做分析
3.PC客戶端(C/S)抓包
C/S程序抓包需要借助Proxifer
Proxifier是一款功能非常強大的socks5客戶端,可以讓不支持通過代理服務器工作的網絡程序能通過HTTPS或SOCKS代理或代理鏈。
由於一般的C/S客戶端不能設置代理,所以我們FIddler檢測不到數據,我們可以通過Proxifer來實現把所有的請求抓發給Fiddler,這樣我們就可以在Fiddler分析客戶端請求。
Proxifer設置:
設置很簡單,下圖所示,兩步就OK
a).設置代理服務器和Fiddler代理設置匹配
b).設置代理規則
默認的Default,我們可以不管
點擊添加
名稱:Fiddler.exe
是否有效:是
選擇Fiddler的應用程序文件目錄,選擇后,確認
目標主機:我們本地的Fiddler設置的代理,可以任意
目標端口:任意
動作:Direct
到這里就設置完畢了,我們可以打開騰訊視頻視頻客戶端,在Fiddler和Proxifer看下數據
4.電腦上所有的C/S客戶端都可以抓到包
這時候Proxifer打開的時候瀏覽器會鏈接不了網絡,可以通過設置Fiddler方式,連接網絡,添加谷歌瀏覽器執行程序文件,確認后,可以上網