Position actuelle: Accueil> Derniers articles> Exemple de tutoriel complet pour analyser HTML / XML avec PHP et créer des robots Web

Exemple de tutoriel complet pour analyser HTML / XML avec PHP et créer des robots Web

M66 2025-06-21

introduction

Les robots Web sont des outils d'automatisation utilisés pour explorer les données d'Internet. En tant que langage de script côté serveur populaire, PHP a des bibliothèques et des fonctions riches et peut analyser et traiter efficacement les données au format HTML ou XML. Cet article utilisera des exemples spécifiques pour montrer comment créer un robot Web en utilisant le contenu PHP et analyser dans une page Web.

Obtenez du contenu Web

En tant que première étape pour Crawlers, nous devons obtenir le contenu de la page de destination. En PHP, nous pouvons utiliser la fonction «Curl» pour y parvenir facilement. Voici un exemple de code pour obtenir du contenu Web:

 
$url = "http://example.com"; // Définir l'URL de destination
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); // Url de crawl de configuration
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Le contenu obtenu sera retourné sous forme de chaîne
$output = curl_exec($ch); // mettre en œuvrecurlSession et enregistrez le contenu renvoyé
curl_close($ch);
echo $output; // Sortir le contenu de la page Web rampante

Dans ce code, nous enregistrons le contenu de la page Web obtenue en tant que chaîne en définissant `curlopt_returntransfer` vers` true`. Ensuite, utilisez la fonction `curl_exec` pour exécuter la session Curl et sortir le résultat.

Analyse du contenu HTML

Après avoir obtenu le contenu de la page Web, l'étape suivante consiste à analyser le HTML afin que nous puissions extraire les données dont nous avons besoin. PHP possède de nombreuses bibliothèques qui peuvent nous aider à analyser HTML, et l'une des bibliothèques les plus couramment utilisées est le simple DOM HTML. Voici un exemple d'analyse HTML en utilisant un DOM HTML simple:

 
include('simple_html_dom.php'); // PrésentéSimple HTML DOMBibliothèque
$html = str_get_html($output); // Chargez le contenu de la page Web pourSimple HTML DOMDans l'objet
<p>// Trouvez tous les liens et sorties<br>
foreach($html->find('a') as $element) {<br>
echo $element->href . "<br>";<br>
}</p>
<p>$html->clear(); // Nettoyer la mémoire occupée par les objets<br>

Ce code introduit d'abord la bibliothèque HTML DOM simple via `include 'et charge le contenu de la page Web obtenu dans l'objet HTML DOM simple. Ensuite, nous utilisons la méthode «Find» et le sélecteur CSS pour trouver tous les liens, et étend enfin la propriété `HREF» de chaque lien via la boucle «ForEach».

Contenu XML d'analyse

En plus de HTML, PHP peut également analyser facilement le contenu XML. PHP fournit une bibliothèque simple et facile à utiliser - simplexml, pour analyser les données XML. Voici un exemple de code pour analyser XML à l'aide de simplexml:

 
$xml = simplexml_load_string($output); // VolontéXMLChargement de la chaîne àSimpleXMLDans l&#39;objet
<p>// TraverséeXMLet sortir le contenu d&#39;un champ spécifique<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>

Dans ce code, nous chargeons la chaîne XML récupérée dans un objet simplexml via la fonction `simplexml_load_string`. Ensuite, parcourez le contenu XML à travers la boucle «Foreach» et les propriétés d'objet, en sortissant le titre, l'auteur et l'année de publication.

en conclusion

En utilisant la fonction «Curl» de PHP et diverses bibliothèques d'analyse telles que le simple HTML DOM et le simplexml, nous pouvons facilement créer nos propres robots Web pour extraire les informations requises à partir de pages Web ou de données XML. Cela fournit un fort soutien au développement de diverses applications de données. Grâce à ce didacticiel, vous pouvez maîtriser les compétences de développement de base de crawler PHP de base, puis vous développer à des tâches rampantes de données plus complexes.

  • Étiquettes associées:

    HTML