vlambda博客
学习文章列表

十分钟就能快速上手的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

结果演示

抓取过程中

十分钟就能快速上手的PHP爬虫框架

数据库数据

该框架还有更多使用技巧,您可以查看官方文档一一了解:https://doc.phpspider.org/