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....