Maison >développement back-end >tutoriel php >Comment analyser le contenu HTML à l'aide de PHP et XPath
À mesure que la technologie Web continue de se développer, le contenu des pages Web devient de plus en plus complexe. Nous avons souvent besoin d'extraire des informations des pages HTML pour un traitement et une analyse ultérieurs, comme les robots d'exploration, l'exploration de données, etc. Cet article explique comment utiliser PHP et XPath pour analyser le contenu HTML et obtenir les informations dont nous avons besoin rapidement et facilement.
PHP Simple HTML DOM Parser est une bibliothèque de classes PHP open source qui peut analyser des pages HTML dans DOM. La structure peut ensuite être utilisée pour rechercher et manipuler des éléments DOM à l'aide d'une syntaxe de sélection de type jQuery. La bibliothèque fournit des méthodes de sélection intégrées, ainsi que des méthodes find() et xpath() pour rechercher des nœuds, cette dernière nécessitant l'installation et l'activation de l'extension DOM.
Voici un exemple d'utilisation de PHP Simple HTML DOM Parser pour trouver des titres et des liens :
<?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>'; } ?>
<?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>'; } } ?>Dans l'exemple ci-dessus, nous utilisons la méthode query() pour trouver tous les nœuds de titre h2 , et utilisez des expressions XPath pour obtenir leur contenu textuel et la valeur de l'attribut href du premier nœud derrière eux. Remarque : Les expressions dans DOMXPath doivent suivre la spécification W3C XPath.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!