爬取非同步請求(XHR JS)資料方法

2021-10-22 17:45:34 字數 584 閱讀 2485

之前在做爬蟲的時候,比如在爬取到網頁的時候,發現很多內容明明在瀏覽器看得見,但是請求下來的內容卻沒有,於是開啟f12檢視network發現,如下:

其實會出現看得見,摸不著的情況下是因為網頁的資料是非同步載入的,所以在http抓到的網頁是不包含在裡面的。網頁有些資料呈現是採非同步方式,會是在背景去送httprequest取得,再用ajax或其他把資料回填到網頁上,這部分可以在f12的這裡找找看可能會有資料,取不到資料有可能是他網頁有作多次來回運算,才會呈現最終畫面,可以從f12的status code看有沒有redirect相關(ex 307)。

如果單純用console httprequest比較難(可能背後網頁依賴瀏覽器的東西很多) 可以考慮用driver開啟網頁,並用selenium套件操控driver。會省了很多破解時間。

詳細方法見:

用c#+selenium+chromedriver 爬取網頁,完美模擬真實的使用者瀏覽行為

使用aiohttp非同步爬取小說

哈嘍,在這個寂寞的下午來看看這篇很水的文章 使用aiohttp爬取 首先,簡單說下同步和非同步。個人理解蛤,舉個例子 同步就是,你去買泡麵,買完得等商家算錢,算完錢了,你才能離開店鋪。非同步就是,晚上吃個泡麵,先燒個水,那麼在等水開的時候,就可以撕泡麵的包裝,醬料包,然後等到水開了泡就是了 苦逼單身...

模擬Ajax請求實現動態資料爬取

以菜鳥教程的 為例 綜上,ajax資料爬取的關鍵是js分析,只要找到js的請求引數,我們就能模擬ajax請求,從而得到響應資料在開發者工具的 網路 network 模組下檢視所有請求和響應,其中,type為xhr的就是ajax請求。隨著我們與網頁的不斷互動,這些請求會不斷增加。在請求的具體內容中,我...

Pyhton爬取資料的方法總結

1.獲取的json import requests使用requests,這個第三方的組建來實現。它既可以爬取json檔案,也可以爬取網頁資訊。適用場景 例如 123.html 124.html類似於這些網頁即可 data requests.get url url,verify false if da...