php實(shí)現(xiàn)遞歸抓取網(wǎng)頁(yè)類實(shí)例
本文實(shí)例講述了php實(shí)現(xiàn)遞歸抓取網(wǎng)頁(yè)類的方法。分享給大家供大家參考。具體如下:
<?php
class crawler{
private $_depth=5;
private $_urls=array();
function extract_links($url)
{
if(!$this->_started){
$this->_started=1;
$curr_depth=0;
}else{
$curr_depth++;
}
if($curr_depth<$this->_depth)
{
$data=file_get_contents($url);
if(preg_match_all('/((?:http|https)://(?:www.)*(?:[a-zA-Z0-9_-]{1,15}.+[a-zA-Z0-9_]{1,}){1,}(?:[a-zA-Z0-9_/.-?&:%,!;]*))/',$data,$urls12))
{
foreach($urls12[0] as $k=>$v){
$check=get_headers($v,1);
if(strstr($v,$url) && $check[0]=='HTTP/1.1 200 OK' && !array_search($v,$this->_urls) && $curr_depth<$this->_depth){
$this->_urls[]=$v;
$this->extract_links($v);
}
}
}
}
return $this->_urls;
}
}
?>
希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。
- php curl抓取網(wǎng)頁(yè)的介紹和推廣及使用CURL抓取淘寶頁(yè)面集成方法
- PHP抓取網(wǎng)頁(yè)、解析HTML常用的方法總結(jié)
- php結(jié)合正則批量抓取網(wǎng)頁(yè)中郵箱地址
- PHP使用CURL實(shí)現(xiàn)多線程抓取網(wǎng)頁(yè)
- PHP中使用file_get_contents抓取網(wǎng)頁(yè)中文亂碼問(wèn)題解決方法
- php使用curl和正則表達(dá)式抓取網(wǎng)頁(yè)數(shù)據(jù)示例
- 采集郵箱的php代碼(抓取網(wǎng)頁(yè)中的郵箱地址)
- PHP的cURL庫(kù)功能簡(jiǎn)介 抓取網(wǎng)頁(yè)、POST數(shù)據(jù)及其他
- PHP多線程抓取網(wǎng)頁(yè)實(shí)現(xiàn)代碼
- PHP 抓取網(wǎng)頁(yè)圖片并且另存為的實(shí)現(xiàn)代碼
- PHP抓取及分析網(wǎng)頁(yè)的方法詳解
相關(guān)文章
php自動(dòng)加載的兩種實(shí)現(xiàn)方法
php自動(dòng)加載的兩種實(shí)現(xiàn)方法,需要的朋友可以參考下。2010-06-06
PHP生成不同顏色、不同大小的tag標(biāo)簽函數(shù)
看別人網(wǎng)站上面的tag都是不同顏色,不同大小的tag標(biāo)簽非常不錯(cuò),這里就分享兩個(gè)函數(shù),方便需要的朋友2013-09-09
php實(shí)現(xiàn)自定義中獎(jiǎng)項(xiàng)數(shù)和概率的抽獎(jiǎng)函數(shù)示例
這篇文章主要介紹了php實(shí)現(xiàn)自定義中獎(jiǎng)項(xiàng)數(shù)和概率的抽獎(jiǎng)函數(shù),涉及php字符串、數(shù)組的概率運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2017-05-05
php數(shù)組函數(shù)序列之a(chǎn)rray_splice() - 在數(shù)組任意位置插入元素
array_splice() 函數(shù)與 array_slice() 函數(shù)類似,選擇數(shù)組中的一系列元素,但不返回,而是刪除它們并用其它值代替2011-11-11
幾個(gè)有用的php字符串過(guò)濾,轉(zhuǎn)換函數(shù)代碼
幾個(gè)有用的php字符串過(guò)濾,轉(zhuǎn)換函數(shù),主要是一些字符的安全處理與字符串處理2012-05-05
php實(shí)現(xiàn)有序數(shù)組旋轉(zhuǎn)后尋找最小值方法
在本篇文章中我們給大家詳細(xì)分享了php實(shí)現(xiàn)有序數(shù)組旋轉(zhuǎn)后尋找最小值方法,有需要的朋友們可以學(xué)習(xí)下。2018-09-09
簡(jiǎn)單談?wù)刾hp浮點(diǎn)數(shù)精確運(yùn)算
如果用php的+-*/計(jì)算浮點(diǎn)數(shù)的時(shí)候,可能會(huì)遇到一些計(jì)算結(jié)果錯(cuò)誤的問(wèn)題,所以基本上大部分語(yǔ)言都提供了精準(zhǔn)計(jì)算的類庫(kù)或函數(shù)庫(kù),比如php有BC高精確度函數(shù)庫(kù),下面我們介紹一下一些常用的BC高精確度函數(shù)使用。2016-03-03

