Maison développement back-end tutoriel php Un guide pratique des robots d'exploration Web automatisés : créer des robots d'exploration Web avec PHP et Selenium

Un guide pratique des robots d'exploration Web automatisés : créer des robots d'exploration Web avec PHP et Selenium

Jun 15, 2023 pm 04:44 PM
网络爬虫 自动化 php+selenium

Les robots d'exploration Web sont devenus l'un des outils les plus importants dans le monde Internet d'aujourd'hui. Ils peuvent parcourir automatiquement divers sites Web sur Internet et extraire les informations utiles dont les gens ont besoin. La technologie de base des robots d'exploration Web automatisés consiste à utiliser des langages de programmation et divers outils pour créer un programme capable de traiter automatiquement les données.

Ces dernières années, Selenium est devenu l'un des outils les plus populaires dans le domaine de l'exploration automatisée du Web. Il s'agit d'un outil de test automatisé multi-navigateurs qui peut simuler des utilisateurs effectuant diverses opérations dans le navigateur, telles que cliquer, faire défiler, taper, etc., et peut également obtenir des données à partir de pages Web. Cela rend Selenium idéal pour créer des robots d'exploration Web automatisés, car il permet aux programmes d'obtenir des données de la même manière que les utilisateurs réguliers.

Cet article explique comment utiliser PHP et Selenium pour créer un robot d'exploration Web automatisé. Le programme d'exploration présenté dans cet article parcourra automatiquement le site Web spécifié et extraira les informations pertinentes telles que le titre, l'auteur, la date de publication et le lien de l'article de tous les articles, et enfin les enregistrera dans un fichier CSV.

Avant de commencer, nous devons installer PHP, Selenium et WebDriver (correspondant au pilote du navigateur). Voici les détails de cet article :

  1. Paramètres d'environnement et configuration de base

Tout d'abord, nous devons installer PHP en local environnement. PHP 7 ou supérieur est recommandé. Ensuite, pour installer Selenium, vous pouvez le faire en utilisant Composer. Utilisez la commande composer dans le dossier du projet pour l'installer. Une fois l'installation réussie, nous pouvons commencer à écrire des programmes PHP.

  1. Appel de WebDriver et de l'API Selenium

Avant d'utiliser Selenium pour créer un robot d'exploration Web automatisé, nous devons appeler WebDriver et créer une instance WebDriver pour interagir avec la communication du navigateur spécifié. WebDriver est une interface de pilote de navigateur et différents navigateurs nécessitent différents WebDrivers.

En PHP, nous pouvons utiliser la bibliothèque client PHP de Selenium pour créer une instance WebDriver et la lier avec le WebDriver du navigateur spécifié. Voici l'exemple de code :

require_once 'vendor/autoload.php';
use FacebookWebDriverRemoteDesiredCapabilities;
use FacebookWebDriverRemoteRemoteWebDriver;

// 配置浏览器类型、路径、驱动、和端口
$capabilities = DesiredCapabilities::chrome();
$driver = RemoteWebDriver::create('http://localhost:4444/wd/hub', $capabilities);
Copier après la connexion
  1. Établir une session de navigateur et ouvrir le site Web cible

La création d'une session de navigateur ne nécessite qu'une seule ligne de code , et nous pouvons choisir votre navigateur préféré (Firefox ou Chrome).

Ici, nous utiliserons le navigateur Chrome. Voici l'exemple de code :

// 使用Chrome浏览器打开目标网站
$driver->get('https://example.com');
Copier après la connexion
  1. Rechercher et extraire des données

Après avoir ouvert le site Web cible et chargé la page, nous devons localiser et obtenez toutes les données L'élément qui nécessite des données. Dans cet exemple, nous retrouverons le titre, l’auteur, la date de publication et le lien vers l’article de tous les articles du site cible.

Voici un exemple de code :

// 查找所有文章标题
$titles = $driver->findElements(FacebookWebDriverWebDriverBy::cssSelector('article h2 a'));

// 查找作者名字
$author_names = $driver->findElements(FacebookWebDriverWebDriverBy::cssSelector('article .author-name'));

// 查找发布日期
$release_dates = $driver->findElements(FacebookWebDriverWebDriverBy::cssSelector('article .release-date'));

// 查找文章链接
$links = $driver->findElements(FacebookWebDriverWebDriverBy::cssSelector('article h2 a'));
Copier après la connexion

Voici un exemple de code pour rechercher et extraire les données de chaque article :

$articles = array();

foreach ($titles as $key => $title) {
    // 提取标题
    $article_title = $title->getText();

    // 提取作者
    $article_author = $author_names[$key]->getText();

    // 提取发布日期
    $article_date = $release_dates[$key]->getText();

    // 提取文章链接
    $article_link = $links[$key]->getAttribute('href');

    // 添加文章到数组
    $articles[] = array(
        'title' => $article_title,
        'author' => $article_author,
        'date' => $article_date,
        'link' => $article_link
    );
}
Copier après la connexion
    # 🎜🎜#Les résultats sont enregistrés dans un fichier CSV
La dernière étape consiste à enregistrer les données extraites dans un fichier CSV. Les données peuvent être stockées dans un fichier CSV à l'aide de la fonction intégrée PHP fputcsv().

Voici un exemple de code :

// 文件流方式打开文件
$file = fopen('articles.csv', 'w');

// 表头
$header = array('Title', 'Author', 'Date', 'Link');

// 写入标题
fputcsv($file, $header);

// 写入文章数据
foreach ($articles as $article) {
    fputcsv($file, $article);
}

// 关闭文件流
fclose($file);
Copier après la connexion
Cela termine l'extraction du contenu et le traitement des données. Les données du fichier CSV peuvent être utilisées pour une analyse et une application ultérieures. De plus, les données peuvent être importées dans d’autres bases de données pour un traitement ultérieur.

Dans l'ensemble, dans cet article, nous avons appris comment créer un robot d'exploration Web automatisé à l'aide de PHP et Selenium, et comment obtenir et traiter les données du site Web cible et les enregistrer dans un fichier CSV. Cet exemple n'est qu'une simple démonstration, qui peut être appliquée à divers scénarios dans lesquels des données doivent être obtenues à partir du site Web, tels que le référencement, l'analyse de produits concurrentiels, etc.

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment résoudre les problèmes de redondance de code dans le développement C++ Comment résoudre les problèmes de redondance de code dans le développement C++ Aug 22, 2023 pm 05:30 PM

Comment résoudre le problème de redondance de code dans le développement C++ La redondance de code signifie que lors de l'écriture d'un programme, il existe des codes similaires ou répétés à plusieurs endroits. Ce problème rend non seulement le code difficile à maintenir et à lire, mais augmente également la taille et la complexité du code. Pour les développeurs C++, il est particulièrement important de résoudre le problème de la redondance du code, car C++ est un langage de programmation puissant, mais il peut aussi facilement conduire à une duplication de code. La cause première des problèmes de redondance du code réside dans des habitudes de conception et de codage déraisonnables. Pour résoudre ce problème, vous pouvez partir des aspects suivants : Utiliser des fonctions et des classes : C

Comprendre les différences et les comparaisons entre SpringBoot et SpringMVC Comprendre les différences et les comparaisons entre SpringBoot et SpringMVC Dec 29, 2023 am 09:20 AM

Comparez SpringBoot et SpringMVC et comprenez leurs différences Avec le développement continu du développement Java, le framework Spring est devenu le premier choix pour de nombreux développeurs et entreprises. Dans l'écosystème Spring, SpringBoot et SpringMVC sont deux composants très importants. Bien qu'ils soient tous deux basés sur le framework Spring, il existe certaines différences dans les fonctions et l'utilisation. Cet article se concentrera sur la comparaison de SpringBoot et Spring

Comment créer une puissante application de robot d'exploration Web à l'aide de React et Python Comment créer une puissante application de robot d'exploration Web à l'aide de React et Python Sep 26, 2023 pm 01:04 PM

Comment créer une puissante application de robot d'exploration Web à l'aide de React et Python Introduction : Un robot d'exploration Web est un programme automatisé utilisé pour explorer des données Web via Internet. Avec le développement continu d’Internet et la croissance explosive des données, les robots d’exploration Web deviennent de plus en plus populaires. Cet article explique comment utiliser React et Python, deux technologies populaires, pour créer une puissante application de robot d'exploration Web. Nous explorerons les avantages de React en tant que framework front-end et de Python en tant que moteur d'exploration, et fournirons des exemples de code spécifiques. 1. Pour

Jenkins en intégration continue PHP : maîtrise de l'automatisation de la construction et du déploiement Jenkins en intégration continue PHP : maîtrise de l'automatisation de la construction et du déploiement Feb 19, 2024 pm 06:51 PM

Dans le développement de logiciels modernes, l'intégration continue (CI) est devenue une pratique importante pour améliorer la qualité du code et l'efficacité du développement. Parmi eux, Jenkins est un outil CI open source mature et puissant, particulièrement adapté aux applications PHP. Le contenu suivant explique comment utiliser Jenkins pour implémenter l'intégration continue PHP et fournit un exemple de code spécifique et des étapes détaillées. Installation et configuration de Jenkins Tout d'abord, Jenkins doit être installé sur le serveur. Téléchargez et installez simplement la dernière version depuis son site officiel. Une fois l'installation terminée, une configuration de base est requise, notamment la configuration d'un compte administrateur, l'installation du plug-in et la configuration des tâches. Créer une nouvelle tâche Sur le tableau de bord Jenkins, cliquez sur le bouton "Nouvelle tâche". Sélectionnez "Libère

Comment supprimer l'automatisation des commandes de raccourci Apple Comment supprimer l'automatisation des commandes de raccourci Apple Feb 20, 2024 pm 10:36 PM

Comment supprimer l'automatisation des raccourcis Apple Avec le lancement du nouveau système iOS13 d'Apple, les utilisateurs peuvent utiliser des raccourcis (raccourcis Apple) pour personnaliser et automatiser diverses opérations du téléphone mobile, ce qui améliore considérablement l'expérience de l'utilisateur sur le téléphone mobile. Cependant, nous devrons parfois supprimer certains raccourcis qui ne sont plus nécessaires. Alors, comment supprimer l’automatisation des commandes de raccourci Apple ? Méthode 1 : Supprimer via l'application Raccourcis Sur votre iPhone ou iPad, ouvrez l'application « Raccourcis ». Sélectionnez dans la barre de navigation inférieure

Utiliser des scripts Python pour implémenter la planification et l'automatisation des tâches sous la plateforme Linux Utiliser des scripts Python pour implémenter la planification et l'automatisation des tâches sous la plateforme Linux Oct 05, 2023 am 10:51 AM

Utilisation de scripts Python pour mettre en œuvre la planification et l'automatisation des tâches sous la plate-forme Linux Dans l'environnement informatique moderne, la planification et l'automatisation des tâches sont devenues des outils essentiels pour la plupart des entreprises. En tant que langage de programmation simple, facile à apprendre et riche en fonctionnalités, Python est très pratique et efficace pour mettre en œuvre la planification et l'automatisation des tâches sur la plate-forme Linux. Python fournit une variété de bibliothèques pour la planification des tâches, dont la plus couramment utilisée et la plus puissante est crontab. crontab est un système de gestion et de planification

Comment la robotique et l'intelligence artificielle peuvent automatiser les chaînes d'approvisionnement Comment la robotique et l'intelligence artificielle peuvent automatiser les chaînes d'approvisionnement Feb 05, 2024 pm 04:40 PM

La technologie d’automatisation est largement utilisée dans différentes industries, notamment dans le domaine de la chaîne d’approvisionnement. Aujourd’hui, il est devenu un élément important des logiciels de gestion de la chaîne d’approvisionnement. À l'avenir, avec le développement de la technologie d'automatisation, l'ensemble de la chaîne d'approvisionnement et des logiciels de gestion de la chaîne d'approvisionnement subira des changements majeurs. Cela conduira à une gestion plus efficace de la logistique et des stocks, à améliorer la rapidité et la qualité de la production et de la livraison et, en retour, à promouvoir le développement et la compétitivité des entreprises. Les acteurs tournés vers l’avenir de la chaîne d’approvisionnement sont prêts à faire face à la nouvelle situation. Les DSI doivent prendre les devants pour garantir les meilleurs résultats pour leur organisation, et il est essentiel de comprendre le rôle de la robotique, de l’intelligence artificielle et de l’automatisation dans la chaîne d’approvisionnement. Qu'est-ce que l'automatisation de la chaîne d'approvisionnement ? L'automatisation de la chaîne d'approvisionnement fait référence à l'utilisation de moyens technologiques pour réduire ou éliminer la participation humaine aux activités de la chaîne d'approvisionnement. il couvre une variété de

Notes d'étude PHP : robots d'exploration Web et collecte de données Notes d'étude PHP : robots d'exploration Web et collecte de données Oct 08, 2023 pm 12:04 PM

Notes d'étude PHP : Robot d'exploration Web et collecte de données Introduction : Un robot d'exploration Web est un outil qui explore automatiquement les données d'Internet. Il peut simuler le comportement humain, parcourir les pages Web et collecter les données requises. En tant que langage de script côté serveur populaire, PHP joue également un rôle important dans le domaine des robots d'exploration Web et de la collecte de données. Cet article explique comment écrire un robot d'exploration Web à l'aide de PHP et fournit des exemples de code pratiques. 1. Principes de base des robots d'exploration Web Les principes de base des robots d'exploration Web sont d'envoyer des requêtes HTTP, de recevoir et d'analyser la réponse H du serveur.

See all articles