$url = "網(wǎng)站地址目錄";
創(chuàng)新新互聯(lián),憑借10多年的網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),本著真心·誠(chéng)心服務(wù)的企業(yè)理念服務(wù)于成都中小企業(yè)設(shè)計(jì)網(wǎng)站有上1000+案例。做網(wǎng)站建設(shè),選創(chuàng)新互聯(lián)建站。
$queryServer = curl_init();
curl_setopt($queryServer, CURLOPT_URL, $url);
curl_setopt($queryServer, CURLOPT_HEADER, 0);
curl_setopt($queryServer, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($queryServer, CURLOPT_RETURNTRANSFER, true);
curl_setopt($queryServer, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($queryServer, CURLOPT_TIMEOUT, 30);
$html = curl_exec($queryServer);
$html = iconv('UTF-8','GBK//IGNORE',$html); //如果你需要是的數(shù)據(jù)是utf-8編碼的,這一行可以注銷,如果需要gbk編碼的,請(qǐng)保留.如果出現(xiàn)亂碼,就是一行的問(wèn)題,你自己調(diào)著試吧
//echo $holder;exit; 此處可以輸出來(lái)測(cè)試.
$html = str_replace(array("\n","\r","\t"),"",$html);
$preg = '/table\s+width=\"800\"[^]+(.*?)\/table/';
preg_match_all($preg,$html,$out);
//匹配每行
preg_match_all('/tr[^]+(.*?)\/tr/',$out[1][0],$tr);
//匹配每個(gè)td
$result = array();
$match = '/td.+([^]+)\/td/U';
foreach( $tr[0] as $key = $value ){
preg_match_all($match,$value,$arr);
$result[] = $arr[1];
}
//輸出測(cè)試,$result就是你要的數(shù)據(jù),至于你要怎么輸出顯示格式,那就隨心調(diào)就好了。
foreach( $result as $key = $value ){
echo implode("\t",$value);
echo "br";
}
exit;
登陸后抓取所有的html代碼。
然后通過(guò)正則匹配html標(biāo)簽來(lái)獲取自己需要的東西,最主要的是你獲取到html源碼后,想要什么不就是看你需求了嘛,正則有問(wèn)題可以繼續(xù)問(wèn)我。
一般網(wǎng)站都是通過(guò)cookie來(lái)判斷登錄狀態(tài)的,你可以第一次手動(dòng)登錄,然后把cookie保存下來(lái)。然后在用curl帶上這個(gè)cookie去請(qǐng)求網(wǎng)站,就會(huì)認(rèn)為你是登錄的了,同時(shí)你要把新返回的cookie保存下來(lái),這都是curl里面設(shè)置的事情,一個(gè)CURLOPT_COOKIEFILE 一個(gè) CURLOPT_COOKIEJAR 可以說(shuō)百分之九十的網(wǎng)站都可以這樣處理
curl基本特性
模擬瀏覽器傳輸數(shù)據(jù)
實(shí)現(xiàn)post/get方式傳輸
支持多種協(xié)議:HTTP、HTTPS、FTP上傳
支持cookie,用戶名/密碼的認(rèn)證
使用curl完成請(qǐng)求的簡(jiǎn)單步驟
初始化一個(gè)curl句柄
resource curl_init ([ string $url = NULL ] )
設(shè)置curl選項(xiàng)
bool curl_setopt ( resource $ch , int $option , mixed $value )
執(zhí)行curl請(qǐng)求
mixed curl_exec ( resource $ch )
釋放curl資源
void curl_close ( resource $ch )
簡(jiǎn)單的分了幾個(gè)步驟:
1、確定采集目標(biāo)
2、獲取目標(biāo)遠(yuǎn)程頁(yè)面內(nèi)容(curl、file_get_contents)
3、分析頁(yè)面html源碼,正則匹配你需要的內(nèi)容(preg_match、preg_match_all),這一步最為重要,不同頁(yè)面正則匹配規(guī)則不一樣
4、入庫(kù)