Heim  >  Artikel  >  Backend-Entwicklung  >  So analysieren Sie HTML-Inhalte mit PHP und XPath

So analysieren Sie HTML-Inhalte mit PHP und XPath

王林
王林Original
2023-06-17 11:17:581659Durchsuche

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.

  1. PHP Simple HTML DOM Parser

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>';
}
?>
  1. Verwendung von DOMDocument und DOMXPath

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.

  1. Zusammenfassung

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!

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