利用php的curl擴展進行模擬瀏覽器訪問網頁


我們一般要抓取一個網站的靜態頁面來完成我們的需求,其實在這里面有很多種方式可以完成,

php內置函數file_get_contents();file();readfile();都可以進行網頁抓取,但是這種方式畢竟是有很大

局限性的,例如我們要訪問一個需要登錄的網站,需要登錄驗證信息,這是后php內置函數就顯得疲軟了

所以我們發現了一個php的擴展類curl來幫助我們完成這種事情,curl是php的擴展之一我們只需要安裝它

並且在php.ini文件中打開他的擴展就可以使用了,這里我們不多贅述,其實curl使用起來還是蠻簡單的下面

我們給出一個簡單的demo:

<?php
$url = "www.baidu.com";//以百度為例
$data = array();
$curl = curl_init();//初始化一個curl會話;

curl_setopt($curl,CURLOPT_URL,$url);//指定訪問的url

curl_setopt($curl,CURLOPT_POST,$data);//post請求的參數,

curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);//獲取的信息以文件流的方式返回

$data = curl_exec($curl);//執行curl;
var_dump($data);
curl_close($curl); // 關閉CURL會話

?>

這就完成了一次curl會話,大家感覺是不是沒什么特別之處?,別急,我們來看看他的精髓之處就是可以傳參數,當然什么cookies呀!驗證的這些東西就可以通過這個來完成,

curl參數很多這里就不一一介紹了;

另外推薦大家去看一看snoopy抓取類也是不錯的一個工具,simple_html_dom文檔解析也很不錯。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM