Crawler est un programme qui exploite automatiquement les informations d'Internet et est largement utilisé pour collecter, analyser et stocker les données. En tant que langage de script côté serveur couramment utilisé, PHP a la fonction puissante de l'écriture de robots. Cet article explorera des méthodes spécifiques en profondeur d'écriture de robots utilisant PHP.
Les Crawlers de PHP doivent d'abord obtenir le code source de la page Web en envoyant des demandes HTTP. Les méthodes communes incluent l'utilisation de la fonction Curl Library ou File_get_Contents, etc.
$url = "https://example.com";
$html = file_get_contents($url);
Dans cet exemple, nous utilisons la fonction file_get_contents pour obtenir le code source HTML de la page Web.
Après avoir obtenu le contenu de la page Web, l'étape suivante consiste à analyser la page HTML et à en extraire les données requises. PHP fournit une variété de méthodes d'analyse, les plus couramment utilisées comprennent des expressions régulières et des analyseurs DOM. Les analyseurs DOM sont très efficaces en fonctionnant des arbres DOM et conviennent à la plupart des cas.
$dom = new DOMDocument();
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$elements = $xpath->query("//h1");
foreach ($elements as $element) {
echo $element->textContent;
}
Dans cet exemple, utilisez l'analyseur Dom pour charger le HTML et sélectionner tous les
Lorsque les données sont extraites avec succès, nous pouvons les traiter davantage au besoin. PHP fournit des fonctions de traitement de chaîne et de tableau puissantes qui peuvent aider à nettoyer, à analyser les données et même à effectuer des calculs et des filtres.
foreach ($elements as $element) {
$temperature = (float)$element->textContent;
if ($temperature > 10) {
echo "$temperature";
}
}
Dans cet exemple, nous convertissons la température en une valeur flottante et déterminons si elle est supérieure à 10. Si les conditions se remplissent, nous la traiterons.
Supposons que notre objectif soit d'obtenir la température quotidienne maximale d'un site Web météorologique et de filtrer le nombre de jours avec des températures supérieures à 10 degrés.
Tout d'abord, nous devons identifier l'URL du site Web cible et découvrir l'élément HTML qui contient les données de la page.
$url = "https://example.com/weather";
$html = file_get_contents($url);
$dom = new DOMDocument();
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$elements = $xpath->query("//div[@class='temperature']");
foreach ($elements as $element) {
$temperature = (float)$element->textContent;
if ($temperature > 10) {
echo "$temperature";
}
}
Dans cet exemple, nous obtenons d'abord du contenu HTML à partir de la page Web météo spécifiée, utilisons le Parser Dom et XPath pour obtenir les données de température et le filtrer.
Cet article détaille l'ensemble du processus d'écriture d'un robot à l'aide de PHP, y compris comment envoyer des demandes HTTP, comment analyser le contenu de la page et comment traiter et analyser les données. Grâce à des exemples, nous montrons comment saisir les données météorologiques et traiter les résultats. J'espère que cet article pourra vous aider à comprendre la technologie de développement des robots de PHP en profondeur et à l'appliquer en douceur à des projets réels.