十分钟就能快速上手的PHP爬虫框架
本文预计阅读时间: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/