Avec la croissance explosive du volume d'informations d'Internet, la façon de capturer rapidement et avec précision les données cibles à partir d'un grand nombre de pages Web est devenue le centre des développeurs. En tant que langage de développement backend largement utilisé, PHP peut simplifier le processus de collecte de données sur les pages Web et améliorer l'efficacité avec le framework PHPSPider.
Cet article vous guidera sur la façon d'installer PHPSPider, d'écrire des scripts Crawler et d'utiliser des exemples pour montrer comment localiser et extraire des informations clés des pages Web.
PHPSPider est un framework Open Source Sprawler basé sur PHP et est très facile à installer. Exécutez simplement la commande via le compositeur:
<span class="fun">Le compositeur nécessite un Spider / PHPSPider</span>
Une fois l'installation terminée, créez un fichier nommé Spider.php , introduisez le fichier de chargement automatique et instanciez l'objet Crawler:
<?php
require 'vendor/autoload.php';
<p>use phpspider\core\phpspider;</p>
<p>// Créer un objet Crawler<br>
$spider = new phpspider();</p>
<p>// Définir le CrawlerURL<br>
$spider->add_start_url('<a rel="noopener" target="_new" class="" href="http://www.example.com">http://www.example.com</a>');</p>
<p>// Définissez une fonction de rappel qui extrait le contenu de la page<br>
$spider->on_extract_page = function ($page, $data) {<br>
// Écrivez la logique d'extraction ici,Utiliser la régularité、XPathouCSSSelector extrait les données<br>
return $data;<br>
};</p>
<p>// Commencer le robot<br>
$spider->start();<br>
Dans la fonction de rappel, utilisez le sélecteur CSS pour localiser rapidement le titre et le corps de la page Web, par exemple:
$spider->on_extract_page = function ($page, $data) {
$title = $page['raw']['headers']['title'][0];
$content = $page['raw']['content'];
$data['title'] = $title;
$data['content'] = strip_tags($content);
return $data;
};
Ici, les besoins de rampe de données de base sont obtenus en accédant au contenu original de la page Web et en extraction du titre et du texte.
Les données extraites peuvent être enregistrées dans un fichier ou une base de données. Exemple Enregistrer les données dans un fichier texte:
$spider->on_extract_page = function ($page, $data) {
$title = $page['raw']['headers']['title'][0];
$content = $page['raw']['content'];
$data['content'] = strip_tags($content);
// Ajouter les données pour fichier
file_put_contents('extracted_data.txt', var_export($data, true), FILE_APPEND);
return $data;
};
Après avoir terminé l'écriture de code, exécutez-la sur la ligne de commande:
<span class="fun">php spider.php</span>
Le programme explorera automatiquement le contenu de la page Web à partir de l'URL de démarrage spécifiée, et extraitra et enregistrera des informations en fonction des règles SET.
À l'aide de PHP et PHPSPider, les développeurs peuvent rapidement créer des robots Web puissants pour compenser automatiquement les données de page Web massives. Grâce à une configuration de code simple, les informations cibles peuvent être positionnées et extraites avec précision, améliorant considérablement l'efficacité de collecte de données. PHPSPider prend également en charge des fonctionnalités plus avancées, adaptées au développement personnalisé dans différents scénarios.