Maison développement back-end tutoriel php Comment implémenter rapidement des robots d'exploration automatisés à l'aide de PHP et Selenium

Comment implémenter rapidement des robots d'exploration automatisés à l'aide de PHP et Selenium

Jun 16, 2023 am 09:15 AM
php 自动化 selenium

Avec le développement d'Internet, la technologie des robots d'exploration est largement utilisée dans tous les domaines. Les robots d'exploration automatisés sont largement utilisés dans la collecte de données et les tests de sites Web. Cet article explique comment implémenter rapidement des robots d'exploration automatisés à l'aide de PHP et Selenium.

1. Introduction à Selenium

Selenium est un outil de test automatisé largement utilisé pour tester les applications Web. Selenium IDE est un outil de test d'applications Web et Selenium WebDriver est un outil de test automatisé piloté par navigateur qui fournit des interfaces pour de nombreux langages de programmation, notamment Java, C#, Python et PHP.

Selenium WebDriver est testé en fonction du navigateur. Il peut contrôler le comportement du navigateur et simuler le comportement de fonctionnement de l'utilisateur de l'application Web. Grâce à Selenium WebDriver, nous pouvons facilement effectuer des tests d'automatisation Web et une collecte de données Web.

2. PHP utilise Selenium WebDriver

Installez Selenium WebDriver pour PHP

Tout d'abord, nous devons installer Selenium WebDriver pour PHP. Selenium WebDriver pour PHP peut être facilement installé à l'aide de Composer. Vous pouvez créer un fichier composer.json dans le répertoire racine de votre projet et ajouter le contenu suivant :

{

"name": "myproject",
"description": "Using Selenium WebDriver for PHP",
"require": {
    "php-webdriver/webdriver": "~1.4.0"
}
Copier après la connexion

}

Après avoir enregistré le fichier, vous pouvez saisir le commande suivante dans la ligne de commande Installation :

composer install

Cela installera automatiquement les composants nécessaires.

Utilisation de Selenium WebDriver pour PHP

Une fois l'installation terminée, nous pouvons commencer à utiliser Selenium WebDriver pour PHP pour les tests automatisés et la collecte de données Web. Tout d'abord, nous devons introduire la classe d'implémentation de WebDriver :

require_once 'vendor/autoload.php';

utiliser FacebookWebDriverRemoteCapabilities;
utiliser FacebookWebDriverRemoteWebDriverBrowserType;
utiliser FacebookWebDriverRemoteRemoteWebDriver;

Ici, nous utilisons la bibliothèque WebDriver pour PHP développée par Facebook, en introduisant l'implémentation du code ci-dessus.

Maintenant, nous pouvons utiliser l'interface RemoteWebDriver pour nous connecter au navigateur pour des opérations automatisées.

$host = 'http://localhost:4444/wd/hub';
$capabilities = array(WebDriverBrowserType::CHROME);
$driver = RemoteWebDriver::create($host, new Capabilities($capabilities)) ;

Ici, nous choisissons le navigateur Chrome, nous nous connectons au navigateur via la méthode create, puis utilisons l'interface WebDriver pour appeler la méthode du navigateur afin d'implémenter des tests automatisés et une collecte de données Web.

3. Implémenter des robots d'exploration automatisés

Ensuite, nous utilisons Selenium WebDriver pour PHP pour implémenter des robots d'exploration automatisés.

  1. Déterminer le site Web cible

Tout d'abord, nous devons déterminer le site Web cible qui doit être exploré. Ici, nous prenons comme exemple « Cheese Network ». Ce site Web permet de visionner gratuitement en ligne la collection complète de films de Hong Kong et de Taiwan. Nous avons besoin d'obtenir les informations sur les ressources cinématographiques et télévisuelles de ce site Web.

  1. Confirmer la cible d'exploration

Avant d'explorer les données, nous devons confirmer quelles données doivent être explorées. Dans cet exemple, nous devons obtenir le titre du film et de la télévision, le réalisateur, les acteurs, l'année, le résumé de l'intrigue et d'autres informations.

  1. Écrire le code

Après avoir confirmé l'objectif, nous pouvons écrire le code correspondant. Le code suivant permet d'obtenir les informations détaillées sur le nom du film spécifié :

$movieName = 'YourMovieName';

// Nouvelle instance RemoteWebDriver pour se connecter au navigateur Chrome
$browser = RemoteWebDriver::create($host, new Capabilities ($capabilities) );
$browser->manage()->timeouts()->implicitlyWait(10);

// Ouvrez le site Web cible
$browser->get('http:// www.zhishi8.com/film/')

// Recherchez le champ de recherche et soumettez la requête
$searchBox = $browser->findElement(WebDriverBy::id('wd'));
$searchBox-> sendKeys($movieName );
$searchBox->submit();

// Attendez que la page de résultats se charge
$browser->wait()->jusqu'à(

WebDriverExpectedCondition::titleContains($movieName)
Copier après la connexion
Copier après la connexion

);

// Cliquez sur le lien du film trouvé et attendez que la page de détails se charge
$movieLink = $browser->findElement(WebDriverBy::xpath("//a[contains(@href, '/film/{$name}.html' )]") );
$movieLink->click();
$browser->wait()->until(

WebDriverExpectedCondition::titleContains($movieName)
Copier après la connexion
Copier après la connexion

);

// Obtenez les informations détaillées sur le film
$movieDirector = $browser ->findElement (WebDriverBy::xpath("//p[contains(@class, 'lh30') et contient(text(), 'director')]"))->getText();
$movieActor = $browser-> ;findElement(WebDriverBy::xpath("//p[contains(@class, 'lh30') and contain(text(), 'starring')]"))->getText();
$ movieYear = $browser ->findElement(WebDriverBy::xpath("//p[contains(@class, 'lh30') and contain(text(), 'Year')]"))->getText();
$movieDetail = $browser->findElement(WebDriverBy::xpath("//p[contains(@class, 'txt lh25')]))->getText();

// Afficher le résultat
echo "Nom du film : {$movieName}
";
echo "Réalisateur : {$movieDirector}
";
echo "Acteur : {$movieActor}
";
echo "Année : {$movieYear}
";
echo " Détail : {$ movieDetail}
" ;

Avec PHP et Selenium, nous pouvons facilement implémenter des robots d'exploration automatisés pour obtenir les données dont nous avons besoin.

4.Résumé

Cet article explique comment implémenter rapidement des robots d'exploration automatisés à l'aide de PHP et Selenium. Tout d’abord, nous avons présenté les connaissances de base et la méthode d’installation de Selenium WebDriver. Ensuite, nous avons expliqué comment utiliser PHP et Selenium WebDriver pour implémenter des robots d'exploration automatisés à travers des exemples. Enfin, nous résumons le contenu de cet article et espérons qu’il vous sera utile.

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 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

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)

Configuration du projet CakePHP Configuration du projet CakePHP Sep 10, 2024 pm 05:25 PM

Dans ce chapitre, nous comprendrons les variables d'environnement, la configuration générale, la configuration de la base de données et la configuration de la messagerie dans CakePHP.

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Date et heure de CakePHP Date et heure de CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

CakePHP travaillant avec la base de données CakePHP travaillant avec la base de données Sep 10, 2024 pm 05:25 PM

Travailler avec la base de données dans CakePHP est très simple. Nous comprendrons les opérations CRUD (Créer, Lire, Mettre à jour, Supprimer) dans ce chapitre.

Téléchargement de fichiers CakePHP Téléchargement de fichiers CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

Routage CakePHP Routage CakePHP Sep 10, 2024 pm 05:25 PM

Dans ce chapitre, nous allons apprendre les sujets suivants liés au routage ?

Discuter de CakePHP Discuter de CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

CakePHP créant des validateurs CakePHP créant des validateurs Sep 10, 2024 pm 05:26 PM

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.

See all articles