curl是利用
url語法在命令列方式下工作的開源檔案傳輸工具,他能夠從網際網路上獲得各種各樣的網路資源。簡單來說,
curl
就是抓取頁面的公升級版。
開啟php.ini
查詢curl模組有沒有開啟。
extension=php_curl.dll
簡版
<?php
$curl=curl_init("");
//建立
curl
資源
curl_exec($curl);
//傳遞給瀏覽器
curl_close($curl);
//關閉
curl
釋放資源
?>
完整版<?php
//1.初始化,建立乙個新
curl資源
$ch = curl_init();
//2.設定
url和相應的選項
curl_setopt($ch, curlopt_url, "/");
//curlopt_header : 如果你想把乙個頭包含在輸出中,設定這個選項為乙個非零值。
curl_setopt($ch, curlopt_header, 0);
//3.抓取
url並把它傳遞給瀏覽器
curl_exec($ch);
//4.關閉
curl
資源,並且釋放系統資源
curl_close($ch);
?>
<?php
$curlobj = curl_init();
// 初始化
curl_setopt($curlobj, curlopt_url, "");
// 設定訪問網頁的
url
curl_setopt($curlobj, curlopt_returntransfer, true);
// 執行之後不直接列印出來
$output=curl_exec($curlobj);
// 執行
curl_close($curlobj);
// 關閉
curl
","php",$output);
?>
<?php
header("content-type:text/html; charset=utf-8");
$data = 'thecityname=北京';
$curlobj = curl_init();
curl_setopt($curlobj,curlopt_url, "");
curl_setopt($curlobj, curlopt_useragent, "user-agent:mozilla/5.0 (windows nt 5.1; rv:24.0) gecko/20100101 firefox/24.0");
curl_setopt($curlobj, curlopt_header, 0);
//啟用時會將標頭檔案的資訊作為資料流輸出。這裡不啟用
curl_setopt($curlobj, curlopt_returntransfer, 1);
//如果成功只將結果返回,不自動輸出任何內容。如果失敗返回
false
curl_setopt($curlobj, curlopt_post, 1);
//如果你想
php去做乙個正規的
,設定這個選項為乙個非零值。這個
post
是普通的
型別,多數被
html
表單使用。
curl_setopt($curlobj, curlopt_postfields, $data);
//需要
post
的資料
$rtn = curl_exec($curlobj);
if(!curl_errno($curlobj)) else
curl_close($curlobj);
?>
CURL多執行緒抓取網頁
網上這類方法似乎太多了。但是總是有一些問題存在。對於多執行緒抓取,現在有如下幾種思路 1.用apache的多執行緒特性,讓php進行 多程序 操作,就像post本身一樣 2.用curl的curl multi庫 對於第一種,我還沒嘗試,因為這種製造的是偽多執行緒,也許效率會低很多,而且不好控制。第二種...
學習curl抓取網頁資訊
抓取的遊戲和路徑資訊 header content type text html charset utf 8 content file get contents 1.初始化 ch curl init 2.設定選項,包括url curl setopt ch,curlopt url,設定需要抓取資料的 ...
CURL 爬蟲,抓取網頁並寫入檔案
例子1,簡單crul獲得網頁內容,01 在命令列cmd 02 cd d d wamp test 03 php f curl url.php curl curl init curl exec curl curl close curl 例子2,將請求處理存入檔案 curlobj curl init cu...