PHP は Web ページ クラス インスタンスの再帰的クローリングを実装します_PHP チュートリアル

WBOY
リリース: 2016-07-13 09:58:13
オリジナル
975 人が閲覧しました

phpはWebページクラスインスタンスの再帰的クローリングを実装します

詳細は次のとおりです:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

クラスクローラー{

プライベート $_ Depth=5;

プライベート $_urls=array();

関数 extract_links($url)

{

if(!$this->_started){

$this->_started=1;

$curr_ Depth=0;

}その他{

$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);

}

}

}

}

$this->_urls を返す;

}

}

?>

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/978265.html技術記事 Web ページ クラスを再帰的にクロールする PHP の例は次のとおりです。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ?php class crasher{ private $_ Depth = 5; プライベート...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!