ricardosierra / phpspider
PHPSpider 框架。
v2.1.6
2018-08-15 08:04 UTC
Requires
- php: >=5.5.0
Suggests
- ext-pcntl、ext-redis: For better performance.
README
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