例1,普通頁面擷取
例如,訪問54master論壇,想抓取首頁裡 所有h3標記內的元素。
| 代碼如下 |
複製代碼 |
$url=http://www.111cn.net; $contents=@file_get_contents($url); //preg_match_all("/<p class="right forumcount">(.*?)</p>/is",$contents,$content); preg_match_all("/<h3>(.*?)</h3>/is",$contents,$content); print_r($content[0]);
|
例2,設定代碼IP去採集資料
使用file_get_contents 和 stream_context_create 即可。
代碼如下:
| 代碼如下 |
複製代碼 |
$aContext = array( 'http' => array( 'proxy' => 'tcp://192.168.0.2:3128', //這裡設定你要使用的代理ip及連接埠號碼 'request_fulluri' => true, ), ); $cxContext = stream_context_create($aContext); $sFile = file_get_contents("http://www.111cn.net", False, $cxContext); echo $sFile; |
以上代碼適用於正常情況,但是如果目標頁面需要登入或需要認證資訊才能訪問的話,可以加多一句代碼。
| 代碼如下 |
複製代碼 |
$auth = base64_encode('LOGIN:PASSWORD'); //LOGIN:PASSWORD 這裡是你的賬戶名及密碼 $aContext = array( 'http' => array( 'proxy' => 'tcp://192.168.0.2:3128', //這裡設定你要使用的代理ip及連接埠號碼 'request_fulluri' => true, 'header' => "Proxy-Authorization: Basic $auth", ), ); $cxContext = stream_context_create($aContext); $sFile = file_get_contents(http://www.111cn.net, False, $cxContext); echo $sFile; |
這樣就可以使用代理來抓取頁面或檔案了