Aktueller Standort: Startseite> Neueste Artikel> Komplettes Beispiel -Tutorial zum Parsen von HTML/XML mit PHP und Erstellen von Webcrawlern

Komplettes Beispiel -Tutorial zum Parsen von HTML/XML mit PHP und Erstellen von Webcrawlern

M66 2025-06-21

Einführung

Webcrawler sind Automatisierungswerkzeuge, mit denen Daten aus dem Internet kriechen. Als beliebte serverseitige Skriptsprache verfügt PHP über reichliche Bibliotheken und Funktionen und kann Daten im HTML- oder XML-Format effizient analysieren und verarbeiten. In diesem Artikel werden spezifische Beispiele verwendet, um zu zeigen, wie Sie einen Webcrawler mit PHP erstellen und Inhalte auf einer Webseite analysieren.

Holen Sie sich Webinhalte

Als erster Schritt für Crawler müssen wir den Inhalt der Zielseite erhalten. In PHP können wir die Funktion "curl" verwenden, um dies einfach zu erreichen. Hier ist ein Beispielcode zum Erhalten von Webinhalten:

 
$url = "http://example.com"; // Setzen Sie die Ziel -URL
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); // Crawl URL einrichten
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Der erhaltene Inhalt wird als Zeichenfolge zurückgegeben
$output = curl_exec($ch); // implementierencurlSitzung und speichern Sie den zurückgegebenen Inhalt
curl_close($ch);
echo $output; // Ausgabe des gekrabbelten Webseiteninhalts ausgeben

In diesem Code speichern wir den erhaltenen Webseiteninhalt als Zeichenfolge, indem wir `curlopt_returntransfer` auf` true` einstellen. Verwenden Sie als Nächstes die Funktion `curl_exec`, um die Curl -Sitzung auszuführen und das Ergebnis auszugeben.

Analyse von HTML -Inhalten

Nach dem Erhalten des Inhalts der Webseite besteht der nächste Schritt darin, die HTML zu analysieren, damit wir die von uns benötigten Daten extrahieren können. PHP hat viele Bibliotheken, die uns helfen können, HTML zu analysieren, und eine der am häufigsten verwendeten Bibliotheken ist einfach HTML DOM. Hier ist ein Beispiel für das Parsen von HTML mit einfachem HTML DOM:

 
include('simple_html_dom.php'); // EingeführtSimple HTML DOMBibliothek
$html = str_get_html($output); // Laden Sie den Webseite Inhalt aufSimple HTML DOMIm Objekt
<p>// Finden Sie alle Links und Ausgabe<br>
foreach($html->find('a') as $element) {<br>
echo $element->href . "<br>";<br>
}</p>
<p>$html->clear(); // Speichern Sie den Speicher, der von Objekten besetzt ist<br>

Dieser Code führt zunächst die einfache HTML -DOM -Bibliothek über "Include" ein und lädt den erhaltenen Webseiteninhalt in das einfache HTML -DOM -Objekt. Als nächstes verwenden wir die "Find" -Methode und den CSS -Selektor, um alle Links zu finden, und geben schließlich die `href` -Eigenschaft jedes Links über die` foreach` -Schleife aus.

XML -Inhalt analysieren

Zusätzlich zu HTML kann PHP auch den XML -Inhalt problemlos analysieren. PHP bietet eine einfache und benutzerfreundliche Bibliothek-simplexml, um XML-Daten zu analysieren. Hier ist ein Beispielcode zum Parsen von XML mit SimplexML:

 
$xml = simplexml_load_string($output); // WilleXMLZeichenfolge Laden nachSimpleXMLIm Objekt
<p>// DurchquerenXMLund den Inhalt eines bestimmten Feldes ausgeben<br>
foreach($xml->book as $book) {<br>
echo "Title: " . $book->title . "<br>";<br>
echo "Author: " . $book->author . "<br>";<br>
echo "Year: " . $book->year . "<br><br>";<br>
}<br>

In diesem Code laden wir die abgerufene XML -Zeichenfolge in ein Simplexml -Objekt über die Funktion "SimplexML_Load_String". Dann durch den XML -Inhalt durch die "Foreach" -Schleife und Objekteigenschaften durchzusetzen und den Titel, den Autor und den Veröffentlichungsjahr auszugeben.

abschließend

Durch die Verwendung von PHPs "Curl" -Funktion und verschiedenen Parsing -Bibliotheken wie einfachem HTML -DOM und SimplexML können wir problemlos unsere eigenen Webcrawlers erstellen, um die erforderlichen Informationen aus Webseiten oder XML -Daten zu extrahieren. Dies bietet eine starke Unterstützung für die Entwicklung verschiedener Datenanwendungen. Durch dieses Tutorial können Sie grundlegende PHP -Crawler -Entwicklungsfähigkeiten beherrschen und dann auf komplexere Datenkriechungsaufgaben ausdehnen.