Heim > Artikel > Backend-Entwicklung > Selbst erstellter PHP-Crawler v1.0 basierend auf simple_html_dom
Meine Begeisterung für das Parsen von Webseiten und die Crawler-Produktion hat überhaupt nicht nachgelassen. Heute habe ich einen Crawler mit dem Open-Source-Parsing-Framework simple_html_dom.php erstellt:
<?php /* *.Pho spider v1.0 *.Written by Radish.ghost 2015.1.20 */ //error_reporting(1); //close error report //curl model //I will realize it in later versions include_once("simple_html_dom.php"); $html=file_get_html('http://www.baidu.com');//The url which you want dig $tmp=array();//Save the url in the first dig foreach($html->find('a') as $e) { $f=$e->href; //if($f[10]==':')continue; if($f[0]=='/')$f='http://www.baidu.com'.$f;//Completion the url if($f[4]=='s')continue;//If the url is "https://" continue (the simple_html_dom might can't prase the https:// url) if(stripos($f,"baidu")==FALSE)continue;//If the url not in this website continue echo $f . '<br>'; $tmp[$cun++]=$f; //Save the urls into array } foreach($tmp as $r) //Dig the urls in $tmp[] { $html2=file_get_html($r); //Redo the step foreach($html2->find('a') as $a) { $u=$a->href; if($u[0]=='/')$u='http://www.baidu.com'.$u; if($u[4]=='s')continue; if(stripos($u,"baidu")==FALSE)continue; echo $u.'<br>'; } $html2=null; } ?>
//Am Ende wird es immer ein Fatal geben Fehler: Aufruf einer Mitgliedsfunktion find() für ein Nicht-Objekt in D:xampphtdocshtmlindex.php on Zeile 21 Warnung. Nach der Kommunikation mit den Senioren habe ich viele kleine Fehler korrigiert, aber ich hoffe, dass mir jemand einen Rat geben kann 🎜>-------- -------------Trennlinie------------------------
simple_html_dom herunterladen ::
https://github.com/Ph0enixxx/simple_html_dom
= = Mein Computer zu Hause kann git4win nicht verwenden
Das Obige stellt einen selbst erstellten PHP-Crawler v1.0 vor, der auf simple_html_dom basiert, einschließlich der relevanten Inhalte. Ich hoffe, er wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.