如何對ajax型的網頁資料進行抓取

2021-07-23 15:07:18 字數 1822 閱讀 5445

如何對ajax型的網頁資料進行抓取。 ,「更多新問題」就是傳送的ajax請求。 

其實抓ajax的頁面和抓普通的頁面區別不大。ajax只不過是做了一次非同步的http請求,只要使用firebug類似的工具,找到請求的後端服務url和傳值的引數,然後對該url傳遞引數進行抓取即可。利用firebug的網路工具,如圖所示: 

下面**就是以車問**為例,通過curl傳送post請求,獲取一頁的資料。(其實該url的資料可以直接通過get獲取) 

<?php $opt = ""; $post = "lastqid=50934&pgno=1&pagenum=20"; $curl = curl_init(); curl_setopt($curl, curlopt_returntransfer, true); curl_setopt($curl, curlopt_post, 1); curl_setopt($curl, curlopt_postfields, $post); curl_setopt($curl, curlopt_url, $opt); $rs = curl_exec($curl); $rs = json_decode($rs); var_dump($rs); ?>
每次只需要更改引數pgno就相當於更改了分頁的頁碼,然後再經行處理就與抓普通的列表頁無異了。

如題:li.des_icon_want 

可是怎麼抓取呢,用 chrome的debug可以抓取,但是自己根據post構造url抓取,卻沒有返回結果,從網上搜尋發現是非同步請求

可能是你還沒有理解我的問題。

謝謝啊,我用下面這段 php**解決了問題:

curl_setopt($ch, curlopt_encoding ,'gzip'); //加入gzip解析

//設定連線結束後儲存cookie資訊的檔案

curl_setopt($ch,curlopt_cookiejar,$cookie_file);

$content=curl_exec($ch);

curl_close($ch);

$ch3 = curl_init();

$url3 = "";

$curlpost = "resource=22943&pagetype=sight&rank=0.7574654158670455";

curl_setopt($ch3,curlopt_url,$url3);

curl_setopt($ch3,curlopt_post,1);

curl_setopt($ch3,curlopt_postfields,$curlpost);

//設定連線結束後儲存cookie資訊的檔案

curl_setopt($ch3,curlopt_cookiefile,$cookie_file);

$content1=curl_exec($ch3);

curl_close($ch3);

PHP應用curl對ajax型的網頁資料進行抓取

php使用curl對ajax型的網頁資料進行抓取 最近安排新來的同事寫爬蟲抓站,諮詢我如何對ajax型的網頁資料進行抓取。比如這個站點,更多新問題 就是傳送的ajax請求。其實抓ajax的頁面和抓普通的頁面區別不大。ajax只不過是做了一次非同步的http請求,只要使用firebug類似的工具,找到...

利用okHttpClient進行網頁資料的提交

以qq郵箱為例 用谷歌瀏覽器,按f12,開啟網路控制台,找network,給preserve log 勾上 然後填寫使用者名稱,密碼登入郵箱。控制台會顯示一些資料。request url 就是你要提交資料請求成功後的位址,也就是你okhttpclient需要請求的url.執行這個請求的是post請求...

python進行網頁資料爬取(一)

網路資料採集的一般流程 1 通過 網域名稱獲取html資料 2 根據目標資訊解析資料 3 儲存目標資訊 4 若有必要,移到另乙個網頁重複這個過程。一 通過 網域名稱獲取html資料 使用requests庫來進行獲取html資料 import requests url r requests.get u...