Maison  >  Article  >  développement back-end  >  Comment extraire les informations requises d'une page Web en utilisant PHP et phpSpider ?

Comment extraire les informations requises d'une page Web en utilisant PHP et phpSpider ?

王林
王林original
2023-07-22 21:03:16759parcourir

Comment extraire les informations requises des pages Web en utilisant PHP et phpSpider ?

Avec le développement rapide d'Internet, la quantité d'informations sur les pages Web augmente également. Comment extraire avec précision et efficacité les informations requises à partir de pages Web volumineuses est devenu un problème auquel sont confrontés de nombreux développeurs. En tant que langage largement utilisé dans le développement Web, PHP fournit une multitude de bibliothèques et d'outils, parmi lesquels phpSpider est un puissant framework d'exploration qui peut nous aider à réaliser une extraction efficace des données de pages Web.

Cet article expliquera comment utiliser PHP et phpSpider pour créer un robot d'exploration Web simple afin d'extraire les informations requises de la page Web.

1. Installez phpSpider

Tout d'abord, nous devons installer phpSpider. phpSpider est un framework d'exploration basé sur PHP qui peut être installé via Composer. Exécutez la commande suivante dans la ligne de commande :

composer require php-spider/phpspider

2. Écrivez le code du robot

Ensuite, nous commençons à écrire le code du robot. Tout d’abord, créez un fichier nommé spider.php et introduisez-y le fichier de chargement automatique de phpSpider :

<?php

require 'vendor/autoload.php';

use phpspidercorephpspider;

// 创建一个爬虫对象
$spider = new phpspider();

// 设置爬虫的初始URL
$spider->add_start_url('http://www.example.com');

// 设置爬虫的抓取规则
$spider->on_extract_page = function ($page, $data) {

    // 在此处编写提取所需信息的代码
    // 可以使用正则表达式、XPath或CSS选择器来定位和提取

    return $data;
};

// 启动爬虫
$spider->start();

Dans le code ci-dessus, nous avons créé un objet robot $spider et défini l’URL initiale du robot sur http:/ /www.example.com . Ensuite, nous définissons une fonction de rappel $spider->on_extract_page pour le traitement lors de l'extraction de la page. Dans cette fonction de rappel, nous pouvons utiliser des expressions régulières, XPath ou des sélecteurs CSS pour localiser et extraire les informations requises.

3. Localisez et extrayez les informations requises

Dans la fonction de rappel du robot, nous pouvons utiliser des expressions régulières, des sélecteurs XPath ou CSS pour localiser et extraire les informations requises. En prenant l'exemple de l'utilisation des sélecteurs CSS, en supposant que nous devions extraire le titre et le corps du texte de la page Web, la fonction de rappel peut être modifiée comme suit :

$spider->on_extract_page = function ($page, $data) {

    // 使用CSS选择器定位标题和正文的元素
    $title = $page['raw']['headers']['title'][0];
    $content = $page['raw']['content'];

    // 提取标题和正文的文本内容
    $data['title'] = $title;
    $data['content'] = strip_tags($content);

    return $data;
};

Dans le code ci-dessus, nous utilisons $page['raw' ]['headers']['title'][0] pour obtenir le titre de la page Web, utilisez $page'raw' pour obtenir le contenu original de la page Web. Ensuite, utilisez la fonction strip_tags pour supprimer les balises HTML dans le texte et enregistrez le titre et le texte extraits dans le tableau $data.

4. Enregistrez les résultats de l'extraction

Enfin, nous pouvons enregistrer les résultats extraits dans une base de données, un fichier ou un autre support de stockage. En prenant l'exemple de l'enregistrement dans un fichier, la fonction de rappel peut être modifiée comme suit :

$spider->on_extract_page = function ($page, $data) {

    // 使用CSS选择器定位标题和正文的元素
    $title = $page['raw']['headers']['title'][0];
    $content = $page['raw']['content'];

    // 提取标题和正文的文本内容
    $data['title'] = $title;
    $data['content'] = strip_tags($content);

    // 保存提取结果到文件中
    file_put_contents('extracted_data.txt', var_export($data, true), FILE_APPEND);

    return $data;
};

Dans le code ci-dessus, nous utilisons la fonction file_put_contents pour enregistrer le tableau $data sous forme de texte dans le fichier extract_data.txt, et utilisez la fonction var_export pour convertir le tableau sous forme de chaîne.

5. Exécutez le robot

Après avoir fini d'écrire le code, nous pouvons exécuter le robot. Exécutez la commande suivante dans la ligne de commande :

php spider.php

En exécutant la commande ci-dessus, le robot explorera la page Web à partir de l'URL initiale, localisera et extraira les informations requises conformément à nos règles d'extraction, et enregistrera les résultats de l'extraction dans un fichier. déposer.

Résumé :

Grâce à PHP et phpSpider, nous pouvons facilement extraire des données des pages Web. Écrivez simplement un peu de code et définissez des règles d'extraction simples pour extraire rapidement les informations requises à partir de pages Web volumineuses. Bien sûr, il ne s'agit que de l'utilisation de base de phpSpider. Il fournit également des fonctions plus puissantes et des options de configuration flexibles pour répondre aux besoins des différents projets.

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