Maison  >  Article  >  développement back-end  >  Comment implémenter l'exploration récursive des classes de pages Web en PHP

Comment implémenter l'exploration récursive des classes de pages Web en PHP

墨辰丷
墨辰丷original
2018-06-11 16:54:421521parcourir

Cet article présente principalement la classe d'exploration récursive des pages Web en PHP. Il analyse les techniques d'exploitation récursive PHP et d'exploration des pages Web avec des exemples. Il est d'une grande valeur pratique. Les amis qui en ont besoin peuvent s'y référer

<.>Cet article explique les exemples que PHP implémente la méthode d'exploration récursive des classes de pages Web. Les détails sont les suivants :

<?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;
 }
}
?>

Résumé : Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.

Recommandations associées :

Implémentation PHP du code de vérification des caractères chinois

Contrôle de processus PHP et opérations mathématiques

php charge les polices et les enregistre

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn