ホームページ  >  記事  >  バックエンド開発  >  PHP で Web ページ クラスの再帰的クロールを実装する方法

PHP で Web ページ クラスの再帰的クロールを実装する方法

墨辰丷
墨辰丷オリジナル
2018-06-11 16:54:421521ブラウズ

この記事では、PHP での Web ページの再帰的クローリングを主に紹介します。PHP の再帰的操作と Web ページのクローリングのテクニックを例とともに分析します。必要な場合は、次の例を参照してください。

この記事では、Web ページ クラスを再帰的にクロールするメソッドを PHP で実装する例について説明します。詳細は次のとおりです。

<?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(&#39;/((?:http|https)://(?:www.)*(?:[a-zA-Z0-9_-]{1,15}.+[a-zA-Z0-9_]{1,}){1,}(?:[a-zA-Z0-9_/.-?&:%,!;]*))/&#39;,$data,$urls12))
   {
    foreach($urls12[0] as $k=>$v){
     $check=get_headers($v,1);
     if(strstr($v,$url) && $check[0]==&#39;HTTP/1.1 200 OK&#39; && !array_search($v,$this->_urls) && $curr_depth<$this->_depth){
      $this->_urls[]=$v;
      $this->extract_links($v);
     }
    }
   }
  }
  return $this->_urls;
 }
}
?>

概要: 以上がこの記事の全内容です。皆様の学習に少しでもお役に立てれば幸いです。

関連する推奨事項:

PHP は漢字検証コードを実装します

php プロセス制御と数学的演算

php はフォントの読み込みと保存を実装します

以上がPHP で Web ページ クラスの再帰的クロールを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。