【开源推荐】只为证明PHP是世界上最好语言的蜘蛛爬虫phpspider框架

PHP学习网将不定时分享优质开源项目,优质技术文章,精选面试题和资源,大家可以把PHP学习网设为🌟星标,第一时间获取最新推送,以防错过优质内容

作者写这个框架的目的是想证明PHP是世界上最好的语言,于是我下载下来看了看,直接证明了我离他的水平还有很长的距离,但这并不妨碍我看他的代码,理解他写这个框架的思路,研究我不擅长的地方。

学习这个框架需要具备以下技能

1、必须会PHP,这个是必要条件。

2、XPath选择器(从网页中抽取数据)

3、理解CSS选择器

4、正则表达式

5、chrome开发者工具,需要分析ajax请求。

还有一个特别重要的是,本框架只能运行在命令行中。

爬虫主要功能

支持模拟登录

支持增量菜椒

支持多任务爬虫

支持多服务器采取

可提前生产列表在采集

学习方法

先看看下面的截图,它的框架结构中有个demo文件夹,那么我们就从demo开始,看它的文档,看它的代码。

简单使用

在demo中增加一个php文件,写入下面的代码,用命令行执行以下,就可以体验以下它的抓取效果啦

代码语言:javascript
复制
require_once __DIR__ . '/../autoloader.php';
use phpspider\core\phpspider;
use phpspider\core\requests;

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

$configs = array(
'name' => '糗事百科',
'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(
// 抽取内容页的文章内容
'name' => "article_content",
'selector' => "//*[@id='single-next-link']",
'required' => true
),
array(
// 抽取内容页的文章作者
'name' => "article_author",
'selector' => "//div[contains(@class,'author')]//h2",
'required' => true
),
),
);
spider = new phpspider(configs);
$spider->start();

爬虫的整体框架就是这样, 首先定义了一个configs数组, 里面设置了待爬网站的一些信息, 然后通过调用spider = new phpspider(configs);和spider->start();来配置并启动爬虫.

总体来说这个框架不错,你认真研究研究它的思路和方法,还是能学到不少内容的,对开阔思路也有帮助。