Maison  >  Article  >  développement back-end  >  Comment utiliser la bibliothèque de classes PHP Goutte pour l'exploration Web et l'extraction de données ?

Comment utiliser la bibliothèque de classes PHP Goutte pour l'exploration Web et l'extraction de données ?

PHPz
PHPzoriginal
2023-08-09 14:16:441301parcourir

如何使用PHP Goutte类库进行网页爬取与数据提取?

Comment utiliser la bibliothèque de classes PHP Goutte pour l'exploration du Web et l'extraction de données ?

Aperçu :
Dans le processus de développement quotidien, nous avons souvent besoin d'obtenir diverses données d'Internet, telles que les classements de films, les prévisions météorologiques, etc. L'exploration du Web est l'une des méthodes courantes pour obtenir ces données. Dans le développement PHP, nous pouvons utiliser la bibliothèque de classes Goutte pour implémenter des fonctions d'exploration Web et d'extraction de données. Cet article expliquera comment utiliser la bibliothèque de classes PHP Goutte pour l'exploration du Web et l'extraction de données, et joindra des exemples de code.

Qu'est-ce que la Goutte ?
Goutte est une bibliothèque de classes PHP basée sur Symfony, spécialement utilisée pour l'exploration du Web et l'extraction de données. Il est construit sur le composant de sélection CSS de Symfony, offrant un moyen simple mais puissant de manipuler des pages Web. Grâce à Goutte, nous pouvons facilement effectuer une exploration du Web, la soumission de formulaires, l'extraction de données et d'autres opérations.

Installez la bibliothèque de classes Goutte :
Tout d'abord, nous devons installer la bibliothèque de classes Goutte via Composer. Ouvrez le terminal, entrez le répertoire de votre projet et exécutez la commande suivante :

composer require fabpot/goutte

Une fois l'installation terminée, nous pouvons introduire la bibliothèque de classes Goutte dans le code et commencer à l'utiliser.

Exemple d'exploration Web et d'extraction de données :
Supposons que nous souhaitions obtenir des informations sur les films populaires actuels à partir d'un site Web de classement de films, telles que les noms de films, les notes, etc. Tout d’abord, recherchez l’URL de votre page cible. Prenons l'exemple du classement des films Douban, l'URL est : https://movie.douban.com/chart.

Ensuite, nous utilisons Goutte pour explorer les pages Web et extraire des données. Voici un exemple de code :

// 引入Goutte类库
require 'vendor/autoload.php';

use GoutteClient;

// 创建一个Goutte客户端实例
$client = new Client();

// 发送GET请求,获取目标网页内容
$crawler = $client->request('GET', 'https://movie.douban.com/chart');

// 使用CSS选择器获取电影列表
$movies = $crawler->filter('.indent table tr')->each(function ($node) {
    // 提取电影名称
    $title = $node->filter('.pl2 a')->text();
    
    // 提取电影评分
    $rating = $node->filter('.star .rating_nums')->text();
    
    // 返回电影信息
    return [
        'title' => $title,
        'rating' => $rating,
    ];
});

// 输出结果
foreach ($movies as $movie) {
    echo $movie['title'] . ' - ' . $movie['rating'] . "
";
}

Dans le code ci-dessus, nous créons d'abord une instance client de Goutte, puis utilisons la méthode de requête pour envoyer une requête GET à la page Web cible afin d'obtenir le contenu de la page Web. Ensuite, utilisez un sélecteur CSS pour extraire la liste de films, en utilisant le sélecteur CSS « ​​.indent table tr » pour représenter tous les éléments éligibles dans la page Web cible. Enfin, nous effectuons quelques opérations d'extraction de données sur chaque nœud de film, extrayons le nom et la note du film, les enregistrons dans le tableau de résultats et enfin imprimons les résultats.

Avec le code ci-dessus, nous pouvons rapidement implémenter des fonctions d'exploration du Web et d'extraction de données. Bien entendu, Goutte dispose de fonctions plus puissantes, telles que la soumission de formulaires, les opérations utilisateur simulées, etc. Les lecteurs peuvent explorer davantage selon leurs besoins.

Résumé :
Cet article présente comment utiliser la bibliothèque de classes PHP Goutte pour l'exploration du Web et l'extraction de données, et démontre l'utilisation de base à travers des exemples de code. L'exploration du Web et l'extraction de données sont très utiles dans de nombreux scénarios, tels que l'analyse de données, la collecte d'informations, etc. Grâce à la bibliothèque de classes Goutte, nous pouvons facilement implémenter ces fonctions et améliorer considérablement l'efficacité du développement. J'espère que cet article sera utile aux lecteurs et accueillera les échanges et les discussions.

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