要想實現寫爬蟲,抓取到數據,首先我們應該分析客戶端和服務器的請求/響應,前提就是我們能監控到客戶端是如何與服務器交互的。
一般我們用fiddler或Charles抓包,都是對web和手機app的抓包,很少對pc客戶端抓包,當我們首次試圖抓取pc客戶端的數據時,發現以往的方法並不適用了。
web和app抓包這里不做解釋,可自行百度,這里主要說一下個人是如何抓取pc客戶端數據的。
1:准備工具 fiddler / Proxifier
這里有Proxifier安裝包
鏈接:https://pan.baidu.com/s/1_iudkxCMSEv6VuB0QbPwPg
提取碼:dsbe
復制這段內容后打開百度網盤手機App,操作更方便哦--來自百度網盤超級會員V1的分享
2:fiddler正常設置——>打開Fiddler,在菜單欄,打開Tools --Options,前三個選項卡設置下。
3:PC客戶端(C/S)抓包需借助工具 Proxifier,設置也簡單
3.1:先打開代理服務器進行配置
3.2:在打開代理規則進行配置
4:配置好后,此時電腦上C/S客戶端可以抓到包
ps:注意,並不是所有pc客戶端都能抓到包。個別客戶端做了安全防護機制。
個人遇到的一些場景有:在確認所有條件都配置好的情況下:
a).網絡可正常訪問,但抓取不到數據
b).使用fiddler抓取數據時,就提示無網絡
c).抓取到了數據,但都是亂碼,無法解碼(個人使用了幾種解碼方式,並未解碼成功,大家遇到此情況可以嘗試下)
總結:以上就是使用fiddler工具結合 Proxifier工具抓取pc客戶端的操作。
以下為一種新的場景,一般使用不多,可了解下。上面講的是在本機電腦抓pc客戶端數據,那如果在遠程機上,按此方法設置是不行的。
相當於在遠程機又套了一層關系,具體操作如下:
a):還是先打開代理服務器進行配置
b):在打開代理規則進行配置。
名稱自定義。1、應用程序選fiddler.exe,動作選遠程機代理;2,應用程序選客戶端.exe,動作選本地代理。
相當於fiddler走遠程機的代理,遠程機上的客戶端走本地代理,這樣就能抓取到該客戶端的數據了。
注意點:默認的動作選全局Direct,如果抓不到數據,也可以選本地或遠程機代理。自己可以嘗試下。