本文预计阅读时间:4分钟
phpspider是一个爬虫开发框架。使用该框架,您不用了解爬虫的堆叠技术实现,爬虫被网站屏蔽,有些网站需要登录或验证码识别才能爬取等问题。
简单几行PHP代码,就可以创建自己的爬虫,利用框架封装的多进程Worker类库,代码更简洁,执行效率更高的速度转换
但是,该框架只能在命令行下运行。
安装下载
使用composer下载phpspider
composer require owner888/phpspider
使用演示
<?php require './vendor/autoload.php';use phpspider\core\phpspider;/* Do NOT delete this comment *//* 不要删除这段注释 */
$configs = array('name' => '简书','log_show' =>false,'tasknum' => 1,//数据库配置'db_config' => array('host' => '127.0.0.1','port' => 3306,'user' => 'phpspider','pass' => 'phpspider','name' => 'phpspider',
),// 数据表配置'export' => array('type' => 'db','table' => 'spider',
),//爬取的域名列表 'domains' => array('jianshu','www.jianshu.com'
), //抓取的起点'scan_urls' => array('https://www.jianshu.com/c/V2CqjW?utm_medium=index-collections&utm_source=desktop'
),//列表页实例// \d+ 指的是变量'list_url_regexes' => array("https://www.jianshu.com/c/\d+"
),'max_try' => 5,// 数据表字段配置'fields' => array(array('name' => "title",// a[@class='title']:获取所有class值为title的a节点'selector' => "//a[@class='title']",'required' => true,
),array('name' => "content",// p[@class='abstract']:获取所有class值为abstract的p节点'selector' => "//p[@class='abstract']",'required' => true,
),
),
);
$spider = new phpspider($configs);
$spider->start();
以上代码写入index.php文件中, index.php的文件路径如下所示
爬虫的整体框架就是这样,首先定义了一个分散,里面设置了待爬网站的一些信息,然后通过调用spider = new phpspider(和spider->start();来配置并启动爬虫
运行命令
打开cmd窗口,输入以下命令
php -f D:\phpstudy_pro\WWW\phpspider\index.php
结果演示
抓取过程中
数据库数据
该框架还有更多使用技巧,您可以查看官方文档一一了解:https://doc.phpspider.org/
如果您想深入学习或了解更多开源资源和工具,可关注本公众号并进群与大家讨论,学习和实践