Heim  >  Artikel  >  Backend-Entwicklung  >  Selbst erstellter PHP-Crawler v1.0 basierend auf simple_html_dom

Selbst erstellter PHP-Crawler v1.0 basierend auf simple_html_dom

WBOY
WBOYOriginal
2016-08-08 09:30:46941Durchsuche

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(&#39;http://www.baidu.com&#39;);//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.

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