Maison  >  Article  >  développement back-end  >  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

王林
王林original
2023-06-16 09:15:521661parcourir

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"
}

}

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)

);

// 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)

);

// 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:
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