Maison > développement back-end > Problème PHP > PHP peut-il être utilisé comme robot d'exploration ?

PHP peut-il être utilisé comme robot d'exploration ?

(*-*)浩
Libérer: 2023-02-25 11:30:02
original
4338 Les gens l'ont consulté

phpspider est un excellent robot d'exploration PHP

PHP peut-il être utilisé comme robot d'exploration ?

Pour écrire un robot d'exploration Web PHP, vous devez disposer des éléments suivants compétences :

Le robot est écrit en PHP (apprentissage recommandé : Tutoriel vidéo PHP)

L'extraction de données à partir de pages Web nécessite XPath (Tutoriel du sélecteur XPath)

Bien sûr, nous pouvons également utiliser des sélecteurs CSS (tutoriel de sélection CSS)

Les expressions régulières (tutoriel sur les expressions régulières) sont utilisées dans de nombreuses situations

Les outils de développement de Chrome sont des outils incroyables, beaucoup Les requêtes AJAX doivent être analysées

Remarque : Ce framework ne peut être exécuté que sous la ligne de commande, la ligne de commande, la ligne de commande, la ligne de commande, les choses importantes sont dites trois fois^_ ^

La démo écrite dans cet article consiste à explorer le site Web de l'éducation militaire

<?php
require_once __DIR__ . &#39;/../autoloader.php&#39;;
use phpspider\core\phpspider;

/* Do NOT delete this comment */
/* 不要删除这段注释 */

$configs = array(
    &#39;name&#39; => &#39;军事&#39;, // 给你的爬虫起一个名字
    &#39;log_show&#39; => false, // 是否显示日志
    &#39;tasknum&#39; => 1, // 开启多少个进程爬取
    // 数据库配置
    &#39;db_config&#39; => array(
        &#39;host&#39;  => &#39;127.0.0.1&#39;,
        &#39;port&#39;  => 3306,
        &#39;user&#39;  => &#39;root&#39;,
        &#39;pass&#39;  => &#39;root&#39;,
        &#39;name&#39;  => &#39;collection&#39;,
    ),
    // 数据库表,表需要已存在,collection库,test表
    &#39;export&#39; => array(
        &#39;type&#39; => &#39;db&#39;,
        &#39;table&#39; => &#39;test&#39;,
    ),
    // 爬取的域名列表
    &#39;domains&#39; => array(
        &#39;war.163.com&#39;
    ),
    // 抓取的起点
    &#39;scan_urls&#39; => array(
        &#39;http://war.163.com&#39;
    ),
    // 列表页实例,你要爬取的列表,也就是分页
    &#39;list_url_regexes&#39; => array(
        "http://war.163.com"
    ),
    // 内容页实例,文章的内容页
    // \d+ 指的是变量,就是可变的参数
    &#39;content_url_regexes&#39; => array(
        "http://war.163.com/photoview/4T8E0001/\d+",
    ),
    // 失败重新爬取次数
    &#39;max_try&#39; => 5,
    // 爬取规则配置
    &#39;fields&#39; => array(
        array(
            &#39;name&#39; => "title", // 数据库字段名
            &#39;selector&#39; => "//div[@class=&#39;headline&#39;]/h1", // 规则,表示:headline类里的h1标签
            &#39;required&#39; => true, // 如果为空,整条数据丢弃
        ),
        array(
            &#39;name&#39; => "content",
            &#39;selector&#39; => "//div[@class=&#39;overview&#39;]/p",
            &#39;required&#39; => true,
        ),
        array(
            &#39;name&#39; => "img",
            &#39;selector&#39; => "//img[@class=&#39;firstPreload&#39;]",
            &#39;required&#39; => true,
        ),
    ),
);

$spider = new phpspider($configs);
$spider->start();
Copier après la connexion

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!

Étiquettes associées:
php
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal