Heim  >  Artikel  >  Backend-Entwicklung  >  Grundlegendes Crawler-Tutorial: HTML mit PHP und regulären Ausdrücken analysieren

Grundlegendes Crawler-Tutorial: HTML mit PHP und regulären Ausdrücken analysieren

王林
王林Original
2023-06-13 10:35:101535Durchsuche

Mit der rasanten Entwicklung des Internets müssen wir als Grundlage unseres täglichen Lebens und unserer Arbeit zunehmend große Datenmengen aus Webseiten extrahieren, was den Einsatz von Crawler-Tools erfordert. In diesem Artikel wird erläutert, wie Sie mithilfe von PHP und regulären Ausdrücken Daten basierend auf HTML-Dokumenten analysieren.

1. Überblick über Crawler

Bevor wir Crawler im Detail verstehen, müssen wir wissen, was Crawler sind. Der sogenannte Crawler ist ein Netzwerkdatenerfassungstool, das automatisch Informationen aus dem Internet sammeln und Verarbeitungen wie Screening, Integration und Analyse durchführen und schließlich einen bestimmten Datensatz bilden kann. Crawler werden hauptsächlich in Bereichen wie Data Mining, Business Competitive Intelligence-Sammlung und akademischer Forschung eingesetzt.

2. Verwenden Sie PHP zum Parsen von HTML

Bevor wir einen Crawler erstellen, müssen wir verstehen, wie Daten aus HTML-Dokumenten analysiert werden. Als serverseitige Skriptsprache verfügt PHP über eine sehr praktische HTML-Parsing-Funktion. Zu den häufig verwendeten HTML-Parsing-Bibliotheken gehören simple_html_dom, phpQuery usw. Diese Bibliotheken bieten uns die Möglichkeit, CSS-Selektoren und die jQuery-Syntax in PHP zu verwenden, und wir können problemlos Daten aus HTML-Dateien analysieren.

Bevor wir die Verwendung regulärer Ausdrücke zum Parsen von HTML vorstellen, werfen wir einen Blick auf die Verwendung von simple_html_dom zum Parsen von HTML. Dies ist ein sehr praktischer und benutzerfreundlicher HTML-Parser. Sie müssen nur den folgenden Code verwenden

require_once('simple_html_dom.php');
$html = file_get_html('http://example.com/');
echo $html->find('title',0)->plaintext;

Der obige Code kann den Inhalt des Titel-Tags in der angegebenen URL (http://example.com/) abrufen und ausgeben. $html ist das HTML-DOM-Objekt.

3. Verwenden Sie reguläre Ausdrücke zum Parsen von HTML.

Reguläre Ausdrücke sind eine Methode zur Beschreibung von Textmustern (Zeichenfolgenmustern) und ein allgemeines Mustervergleichstool. Mit regulären Ausdrücken können wir problemlos verschiedene komplexe Operationen an Texten durchführen, darunter Datensuche, Ersetzung, Trennung usw. Beim Parsen von HTML-Daten müssen wir häufig reguläre Ausdrücke verwenden, um bestimmte Tags, Attribute oder Inhalte abzugleichen und zu extrahieren.

Das Folgende ist ein einfaches Beispiel für das Parsen des img-Tags im HTML-Code:

$match = preg_match_all('/<img.*?src=["|']?(.*?)["|']?s.*?>/i', $html, $out_img, PREG_SET_ORDER);
foreach ($out_img as $img_item) {
    echo $img_item[1];    
}

Der obige Code verwendet die Funktion preg_match_all, um das a1f02c36ba31691bcfe87b2722de723b-Tag in HTML über reguläre Ausdrücke abzugleichen, und extrahiert den src-Attributwert und gibt ihn aus zum Bildschirm.

4. Crawler-Implementierung

Basierend auf dem obigen Codebeispiel können wir es leicht modifizieren und mit der Curl-Bibliothek kombinieren, um einen einfachen Crawler zu implementieren. Der folgende Code kann die angegebene Seite herunterladen und alle darin enthaltenen Linkadressen extrahieren:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.example.com/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//将页面转化成字符串,而不是直接输出
$html = curl_exec($ch);
curl_close($ch);

preg_match_all('/<a.*?href=["|']?(.*?)["|']?s.*?>/i', $html, $out_links, PREG_SET_ORDER);

foreach ($out_links as $link_item) {
    echo $link_item[1].PHP_EOL;//输出链接地址
}

Im obigen Code verwenden wir die Curl-Bibliothek, um den Quellcode der Webseite abzurufen. Der Parameter PREG_SET_ORDER gibt den Abgleich entsprechend der Ausgabereihenfolge des regulären Codes an Ausdruck. Dieser Crawler kann einfache Link-Extraktionsfunktionen ausführen. Natürlich können wir ihn erweitern, indem wir andere reguläre Ausdrucksmuster kombinieren, um weitere Anforderungen zu erfüllen.

5. Zusammenfassung

Das Obige ist das Grundwissen zur Verwendung von PHP und regulären Ausdrücken zum Parsen von HTML-Dokumenten. Bei der eigentlichen Arbeit müssen wir je nach tatsächlichem Bedarf und Webseitenstruktur unterschiedliche Parsing-Methoden auswählen und andere Tools und Bibliotheken entsprechend kombinieren, um komplexe Datenparsing-Aufgaben abzuschließen.

Das obige ist der detaillierte Inhalt vonGrundlegendes Crawler-Tutorial: HTML mit PHP und regulären Ausdrücken analysieren. 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