Maison >développement back-end >tutoriel php >Tutoriel de base sur l'exploration Web PHP : Utilisation de la bibliothèque cURL pour accéder aux sites Web

Tutoriel de base sur l'exploration Web PHP : Utilisation de la bibliothèque cURL pour accéder aux sites Web

WBOY
WBOYoriginal
2023-06-13 15:38:051806parcourir

Avec le développement d'Internet et la croissance croissante des données, les robots d'exploration Web sont devenus l'un des moyens importants d'obtenir des informations sur Internet. Un robot d'exploration Web est un programme automatisé qui accède à un site Web via des requêtes réseau, explore les informations sur le site Web, les traite et les analyse. Dans ce cas, nous présenterons comment écrire un robot d'exploration Web de base en PHP, utiliser la bibliothèque cURL pour accéder au site Web qui doit être exploré et traiter les informations obtenues.

  1. Installation de la bibliothèque cURL

La bibliothèque cURL est un outil très puissant de conversion d'URL qui fonctionne sous la ligne de commande. Il prend également en charge les protocoles réseau tels que HTTP/HTTPS/FTP/TELNET. À l'aide de la bibliothèque cURL, vous pouvez facilement explorer les données Web, télécharger des fichiers via FTP, HTTP POST et PUT et accéder aux ressources du site distant à l'aide de méthodes d'authentification de base, digest ou GSS-Negoate. Parce que la bibliothèque cURL est très pratique et facile à utiliser, elle est largement utilisée dans l'écriture de robots d'exploration Web.

Dans ce tutoriel, nous allons montrer comment utiliser cURL en utilisant l'extension CURL, vous devez donc d'abord installer la bibliothèque d'extensions cURL en PHP. Vous pouvez utiliser la ligne de commande suivante pour installer l'extension cURL :

sudo apt-get install php-curl

Après l'installation, nous devons redémarrer le service php-fpm pour nous assurer que la bibliothèque d'extensions peut fonctionner normalement.

  1. Squelette de script de robot d'exploration de base

Nous allons ensuite écrire un robot d'exploration Web de base pour accéder à une URL spécifiée afin d'obtenir des informations de base sur la page Web URL. Ce qui suit est un squelette de script de base pour le robot :

<?php
$curl = curl_init();           
$url = "https://www.example.com/";
curl_setopt($curl, CURLOPT_URL, $url);     
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);  
curl_close($curl);       
echo $result;
?>

Le code ci-dessus effectue les opérations suivantes :

  • Initialiser une session cURL.
  • Définissez l'URL à partir de laquelle nous souhaitons extraire des informations.
  • Définissez les options pour que cURL renvoie des données au lieu de les afficher directement à l'écran.
  • Exécutez la demande et obtenez les données.
  • Lancez la session cURL.

Vous pouvez également personnaliser les options curl_setopt selon vos besoins. Par exemple, vous pouvez ajouter une option pour définir un délai d'attente en utilisant la ligne de code suivante :

curl_setopt($curl, CURLOPT_TIMEOUT, 5); // 5秒超时

De plus, vous pouvez utiliser l'option curl_setopt pour définir un en-tête HTTP afin de simuler un navigateur envoyant une requête lorsqu'un site Web est demandé. Si vous devez définir un cookie, vous pouvez utiliser l'option curl_setopt pour définir l'espace réservé au cookie ou utiliser les fonctions associées dans cURL Cookie.

Après avoir obtenu les données, vous devrez peut-être les extraire, les analyser et les filtrer. Dans ce processus, vous devrez peut-être utiliser les fonctions de traitement de chaînes de PHP, les expressions régulières ou d'autres bibliothèques d'analyse.

  1. Exemple : Extraire des informations d'un site Web cible

Pour mieux comprendre le processus d'écriture d'un robot d'exploration Web, voici un exemple qui montre comment extraire des informations d'un site Web. Ce site Web (www.example.com) est un site Web de test à partir duquel nous pouvons obtenir des données significatives.

Tout d'abord, nous devons utiliser la bibliothèque cURL pour obtenir les données du site Web spécifié. Voici l'extrait de code utilisé pour obtenir les données :

<?php
$curl = curl_init();
$url = "https://www.example.com/";
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
curl_close($curl);
echo $result;
?>

L'exécution du code ci-dessus affichera le contenu HTML complet de www.example.com. site web. Puisque nous devons extraire des informations spécifiques du site Web obtenu, nous devons analyser le code HTML. Nous utiliserons la classe DOMDocument pour analyser le HTML, comme le code suivant :

<?php
$curl = curl_init();
$url = "https://www.example.com/";
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
curl_close($curl);
$dom = new DOMDocument;
$dom->loadHTML($result);
foreach ($dom->getElementsByTagName('a') as $link) {
    echo $link->getAttribute('href'), PHP_EOL;
}
?>

Le code ci-dessus utilise la classe DOMDocument pour charger le HTML et utiliser la méthode getElementsByTagName() pour obtenir tous les éléments. Après cela, nous pouvons utiliser la méthode getAttribute() pour obtenir l'attribut href de l'élément correspondant. En exécutant le code, nous pouvons voir que la sortie analyse et affiche l'URL contenue dans la balise HTML .

  1. Résumé

Dans cet article, nous avons présenté comment utiliser la bibliothèque cURL pour écrire un robot d'exploration Web de base. Nous avons également expliqué comment extraire des données de sites Web et comment analyser des documents HTML. En comprenant ces concepts de base, vous serez en mesure de mieux comprendre le fonctionnement des robots d'exploration Web et de commencer à écrire les vôtres. Bien sûr, il existe de nombreuses techniques et problèmes complexes impliqués dans l’écriture de robots d’exploration Web, mais nous espérons que cet article vous aidera à prendre un bon départ dans votre parcours d’écriture de robots d’exploration Web.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn