ricardosierra/phpspider

PHPSpider 框架。

v2.1.6 2018-08-15 08:04 UTC

This package is auto-updated.

Last update: 2024-09-27 16:08:19 UTC


README

Scrutinizer Code Quality Code Coverage
Latest Stable Version Total Downloads Latest Unstable Version License

Crawler em PHP

"使用爬虫抢了一个拥有约一百万用户的应用程序,只是为了证明PHP是世界上最优秀的编程语言。"

Phpspider 是一个爬虫开发框架。通过这个框架,您无需了解爬虫背后的技术实现,爬虫可能会被网站封禁,一些网站要求登录或验证才能爬取。通过几行PHP代码,您就可以创建自己的爬虫,使用框架打包的多进程Worker类库,代码更加简洁,执行效率更高。

在演示目录中存在一些针对特定网站的爬虫规则,只要您安装了PHP环境,就可以直接从命令行运行代码。对爬虫感兴趣的开发者可以加入QQ群讨论:147824717。

要求

  • PHP 7.0+
  • Composer

安装

您可以通过Composer安装这个库:composer require ricardosierra/phpspider

示例

让我们用一个故事为例,看看我们的爬虫是如何工作的

$configs = array(
    'name' => 'Anedota',
    'domains' => array(
        'qiushibaike.com',
        'www.qiushibaike.com'
    ),
    'scan_urls' => array(
        'http://www.qiushibaike.com/'
    ),
    'content_url_regexes' => array(
        "http://www.qiushibaike.com/article/\d+"
    ),
    'list_url_regexes' => array(
        "http://www.qiushibaike.com/8hr/page/\d+\?s=\d+"
    ),
    'fields' => array(
        array(
            // Extraia o conteúdo do artigo na página de conteúdo
            'name' => "article_content",
            'selector' => "//*[@id='single-next-link']",
            'required' => true
        ),
        array(
            // Autor do artigo que extraiu a página de conteúdo
            'name' => "article_author",
            'selector' => "//div[contains(@class,'author')]//h2",
            'required' => true
        ),
    ),
);
$spider = new phpspider($configs);
$spider->start();

爬虫的一般结构是这样的:首先定义一个数组 $configs,它定义了要爬取的网站的一些信息,然后调用它。$spider = new phpspider($configs);然后$spider->start();来配置和启动爬虫。

更多信息

开发文档

贡献

有关贡献指南,请参阅CONTRIBUTING.md

鸣谢

  • Seatle Yang