Heim >Backend-Entwicklung >PHP-Tutorial >So analysieren Sie HTML-Inhalte mit PHP und XPath
Mit der Weiterentwicklung der Web-Technologie wird der Inhalt von Webseiten immer komplexer. Wir müssen häufig Informationen aus HTML-Seiten zur weiteren Verarbeitung und Analyse extrahieren, z. B. durch Crawler, Data Mining usw. In diesem Artikel erfahren Sie, wie Sie mit PHP und XPath HTML-Inhalte analysieren und schnell und einfach die benötigten Informationen erhalten.
PHP Simple HTML DOM Parser ist eine Open-Source-PHP-Klassenbibliothek, die HTML-Seiten in eine DOM-Baumstruktur analysieren und dann eine Selektorsyntax ähnlich wie jQuery verwenden kann, um das DOM-Element zu finden und zu bearbeiten. Die Bibliothek bietet integrierte Selektormethoden sowie die Methoden find() und xpath() zum Suchen von Knoten. Letztere erfordern die Installation und Aktivierung der DOM-Erweiterung.
Hier ist ein Beispiel für die Verwendung von PHP Simple HTML DOM Parser zum Suchen von Titeln und Links:
<?php require_once('simple_html_dom.php'); $html = file_get_html('http://example.com/'); // 查找所有的标题和链接 foreach ($html->find('h2') as $header) { echo $header->plaintext . '<br>'; echo $header->next_sibling()->href . '<br>'; } ?>
Zusätzlich zum PHP Simple HTML DOM Parser bietet PHP auch integrierte DOMDocument- und DOMXPath-Klassenbibliotheken , das HTML-Seiten analysieren und durchsuchen kann. DOMDocument ist eine SimpleXML-ähnliche Klasse, die ein XML- oder HTML-Dokument in eine DOM-Baumstruktur analysieren kann, während DOMXPath eine xpath()-Methode bereitstellt, um Knoten mithilfe von XPath zu finden und auszuwählen.
Hier ist ein Beispiel für die Verwendung von DOMDocument und DOMXPath zum Suchen von Titeln und Links:
<?php $html = file_get_contents('http://example.com/'); // 创建 DOMDocument 对象并加载 HTML $dom = new DOMDocument(); @$dom->loadHTML($html); // 创建 DOMXPath 对象并使用 xpath 查找节点 $xpath = new DOMXPath($dom); foreach ($xpath->query('//h2') as $node) { // 查找标题 echo $node->nodeValue . '<br>'; // 查找链接 $link = $xpath->query('./following-sibling::a', $node); if ($link->length > 0) { echo $link->item(0)->getAttribute('href') . '<br>'; } } ?>
Im obigen Beispiel verwenden wir die Methode query(), um alle h2-Titelknoten zu finden, und verwenden XPath-Ausdrücke, um deren Textinhalt und den href abzurufen Attributwert des ersten Knotens dahinter. Hinweis: Ausdrücke in DOMXPath müssen der W3C-XPath-Spezifikation entsprechen.
In diesem Artikel wird erläutert, wie Sie PHP und XPath zum Parsen von HTML-Seiteninhalten verwenden. PHP Simple HTML DOM Parser kann leicht eine Selektorsyntax ähnlich wie jQuery verwenden, um DOM-Elemente zu finden und zu bearbeiten, aber seine Leistung ist bei großen HTML-Seiten relativ gering. DOMDocument und DOMXPath bieten flexiblere und effizientere Analyse- und Suchmethoden, erfordern jedoch einen gewissen Lernaufwand. Es ist wichtig, die geeignete Parsing-Methode entsprechend den tatsächlichen Anforderungen und spezifischen Situationen auszuwählen.
Das obige ist der detaillierte Inhalt vonSo analysieren Sie HTML-Inhalte mit PHP und XPath. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!