ホームページ > バックエンド開発 > PHPの問題 > phpをクローラーとして使用できますか?

phpをクローラーとして使用できますか?

(*-*)浩
リリース: 2023-02-25 11:30:02
オリジナル
4348 人が閲覧しました

phpspider 優れた PHP 開発スパイダー クローラー

phpをクローラーとして使用できますか?

##PHP Web クローラーを作成するには、次のスキルが必要です。 :

クローラーは PHP で書かれています (推奨学習:

PHP ビデオ チュートリアル)

Web ページからデータを抽出するには XPath が必要です (XPath セレクター チュートリアル)

もちろん CSS セレクターも使用できます (CSS セレクター チュートリアル)

正規表現 (正規表現チュートリアル) は多くの場合に使用されます

Chrome の開発者ツールはアーティファクトであり、多くの AJAX リクエストこれを使用して分析する必要があります。

注:このフレームワークはコマンド ライン、コマンド ライン、コマンド ライン、コマンド ラインでのみ実行できます。重要なことは 3 回言う必要があります^_ ^

この記事で書かれたデモは軍事教育 Web サイトをクロールするものです

<?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();
ログイン後にコピー

以上がphpをクローラーとして使用できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート