php的curl可以實現模擬http的各種請求,這也是php做網路爬蟲的基礎,也多用於介面api的呼叫。這個時候有人就要發問了:為什麼你特麼不用file_get_contents?
curl的效能比它好,而且可以完成更多複雜的操作,不僅僅只是獲取頁面資料。
下面先分別介紹一些常用的函式。curl_init 初始化乙個curl對話
curl_setopt 設定curl引數,即傳輸選項
curl_exec 執行請求
curl_close 關閉乙個curl對話
主要是上面四個
curl_errno 返回最後一次錯誤碼,php已經定義了諸多錯誤列舉編碼curl_errror 返回乙個保護當前會話最近一次錯誤的字串
下面直接上例項吧,相關解釋都在注釋裡面
2. 通過呼叫webservice查詢北京的當前天氣<?php /**
* 例項描述:通過呼叫webservice查詢北京的當前天氣
*/$data = 'thecityname=北京';$curlobj = curl_init();
curl_setopt($curlobj, curlopt_url, "");
curl_setopt($curlobj, curlopt_header, 0);
curl_setopt($curlobj, curlopt_returntransfer, 1);
curl_setopt($curlobj, curlopt_post, 1);
curl_setopt($curlobj, curlopt_postfields, $data);
"content-length: ".strlen($data)
$rtn = curl_exec($curlobj);
if(!curl_errno($curlobj)) else else else { echo 'curl error: ' . curl_error($curlobj);
curl_close($curlobj);?>
*/$curlobj = curl_init();
// 初始化curl_setopt($curlobj, curlopt_url, "");
// 設定訪問網頁的urlcurl_setopt($curlobj, curlopt_returntransfer, true);
// 執行之後不直接列印出來// 設定https支援date_default_timezone_set('prc');
// 使用cookie時,必須先設定時區curl_setopt($curlobj, curlopt_ssl_verifypeer, 0);
// 對認證證書**的檢查從證書中檢查ssl加密演算法是否存在curl_setopt($curlobj, curlopt_ssl_verifyhost, 2);
// $output=curl_exec($curlobj); // 執行curl_close($curlobj);
// 關閉curlecho $output;?>
關於php網路爬蟲phpspider。
前幾天,被老闆拉去說要我去抓取大眾點評某家店的資料,當然被我義正言辭的拒絕了,理由是我不會。但我的反抗並沒有什麼卵用,所以還是乖乖去查資料,因為我是從事php工作的,首先找的就是php的網路爬蟲原始碼,在我的不懈努力下,終於找到phpspider,開啟phpspider開發文件首頁我就被震驚了,標題...
python爬蟲爬網路小說
最近閒的蛋疼想看一些爽文 於是只能自己來爬一篇完整版的 進第一章,檢視源 發現 內容在.裡面 爬內容分了兩步 先爬.裡面的,再爬裡面的。但是不能只爬一章,還要繼續爬,找下一章的鏈結,在下一章裡面 還要爬標題,在裡面 於是分了四個正規表示式 story pattern1 re.compile r re...
PHP網路程式設計
1 通過訪問檔案的方式訪問其他 之後我們可以將其內容寫入我們自己的檔案中。以此方法我們可以將多個 中我們感興趣的內容搜尋並儲存到我們自己的文件中。比如可以實行以下方法 url list file demo web fopen demo web.php a foreach url list as on...