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

2021-06-16 10:36:42 字數 815 閱讀 8619

php使用curl對ajax型的網頁資料進行抓取

最近安排新來的同事寫爬蟲抓站,諮詢我如何對ajax型的網頁資料進行抓取。比如這個站點,「更多新問題」就是傳送的ajax請求。

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

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

<?php 

$opt = "/proc/ajax/gethomenewquestion_ajax.jsp";

$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就相當於更改了分頁的頁碼,然後再經行處理就與抓普通的列表頁無異了。

php之curl簡單應用

1 什麼是curl且能實現什麼功能?什麼是curl curl php中常用都實現那些功能 1 實現遠端獲取和採集內容23 實現模擬登陸 4 實現介面對接 api 資料傳輸等 5 實現模擬cookie等 2 php 如何使用curl功能 1 整個操作過程中第一步是用cur init 函式進行初始化 2...

PHP下Ajax的簡單應用

在大二的時候,學習asp.net時,聽說過ajax,也知道谷歌的很多應用都用的了ajax,無奈對js不感冒,去過圖書館幾次,看了幾遍,最終放棄。現在回想起來確實可笑,那麼簡單的知識點,自己卻感到如此恐懼。在asp.net中沒有用過,那就在php中用一次吧。要理解ajax,首先要懂的js,ajax的原...

PHP中的ajax應用例項

1 首先我們需要對ajax物件進行初始化,建立乙個init函式,以便有多個ajax呼叫時都可以進行初始化 初始化ajax 2 使用get方式 var url mainpage.php?title id click title id var ajax initajax 對ajax進行初始化 ajax....