Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie rekursives Crawlen von Webseitenklassen in PHP

So implementieren Sie rekursives Crawlen von Webseitenklassen in PHP

墨辰丷
墨辰丷Original
2018-06-11 16:54:421539Durchsuche

Dieser Artikel stellt hauptsächlich die rekursive Crawling-Webseitenklasse in PHP vor. Er analysiert die Techniken des rekursiven PHP-Vorgangs und des Webseiten-Crawlings. Er ist von großem praktischem Wert 🎜>In diesem Artikel werden Beispiele erläutert, in denen PHP die Methode zum rekursiven Crawlen von Webseitenklassen implementiert. Die Details sind wie folgt:

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

Zusammenfassung

: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.

Verwandte Empfehlungen:

PHP-Implementierung des Verifizierungscodes für chinesische Schriftzeichen

PHP-Prozesssteuerung und mathematische Operationen

php lädt Schriftarten und speichert sie

Das obige ist der detaillierte Inhalt vonSo implementieren Sie rekursives Crawlen von Webseitenklassen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn