php 如何模拟浏览器,利用php的curl扩展进行模拟浏览器访问网页
我們一般要抓取一個網站的靜態頁面來完成我們的需求,其實在這里面有很多種方式可以完成,
php內置函數file_get_contents();file();readfile();都可以進行網頁抓取,但是這種方式畢竟是有很大
局限性的,例如我們要訪問一個需要登錄的網站,需要登錄驗證信息,這是后php內置函數就顯得疲軟了
所以我們發現了一個php的擴展類curl來幫助我們完成這種事情,curl是php的擴展之一我們只需要安裝它
并且在php.ini文件中打開他的擴展就可以使用了,這里我們不多贅述,其實curl使用起來還是蠻簡單的下面
我們給出一個簡單的demo:
$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文檔解析也很不錯。
原文:http://www.cnblogs.com/sunke/p/5649949.html
總結
以上是生活随笔為你收集整理的php 如何模拟浏览器,利用php的curl扩展进行模拟浏览器访问网页的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PowerBI随笔(4)-关系模型与报表
- 下一篇: php数据库可转java数据库,php转