说明

我们有时需要抓取一个网页的内容,但只需要特定部分的信息,通常会用正则来解决,这当然没有问题。正则是一个通用解决方案,但特定情况下,往往有更简单快 捷的方法。

phpQuery的PHP通用列表采集类,得益于phpQuery,让使用QueryList几乎没有任何学习成本,只要会CSS3选择器就可以轻松使用QueryList了,它让PHP做采集像jQuery选择元素一样简单。

安装

QueryList运行需要PHP5.3+,使用 Composer 安装:

composer require jaeger/querylist

用例

先上例子,再来解释。以采集PHPHub教程区文章列表为例:

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;

class IndexController extends Controller

{

public function list()

{

//待采集的目标页面,PHPHub教程区

$page = 'https://laravel-china.org/categories/6';

//采集规则

$rules = array(

//文章标题

'title' => ['.media-heading a','text'],

//文章链接

'link' => ['.media-heading a','href'],

//文章作者名

'author' => ['.img-thumbnail','alt']

);

//列表选择器

$rang = '.topic-list>li';

//采集

$data = \QL\QueryList::Query($page,$rules,$rang)->data;

//查看采集结果

print_r($data);

}

}

采集结果:

Array

(

[0] => Array

(

[title] => 好友动态的实现原理

[link] => https://learnku.com/laravel/t/2750

[author] => luo975974740

)

[1] => Array

(

[title] => 打造完美的 Ubuntu16.04 开发环境【持续更新】

[link] => https://learnku.com/laravel/t/2723

[author] => liuwantao

)

//省略........

[19] => Array

(

[title] => [Laravel 5.3 新功能] 10. 全文搜索方案 Laravel Scout 介绍

[link] => https://learnku.com/laravel/t/2673

[author] => monkey

)

)

接口说明

使用QueyList只需要编写规则库,然后把规则库传给QueryList的静态方法Query,QueryList就会自动按照规则库把内容全部采集回来了,而规则库是用jQuery选择器来编写的,所以使用QueryList的整个过程非常简单!

//接口解释

QueryList::Query(采集的目标页面,采集规则[,区域选择器][,输出编码][,输入编码][,是否移除头部])

//采集规则

$rules = array(

'规则名' => array('jQuery选择器','要采集的属性'[,"标签过滤列表"][,"回调函数"]),

'规则名2' => array('jQuery选择器','要采集的属性'[,"标签过滤列表"][,"回调函数"]),

..........

[,"callback"=>"全局回调函数"]

);

//注:方括号括起来的参数可选

QueryList扩展

Request 网络操作扩展

可以实现如携带cookie、伪造来路等任意复杂的网络请求。

Login 模拟登陆扩展

可以实现模拟登陆然后采集。

Multi 多线程插件

多线程(多进程)采集扩展。

DImage 图片下载扩展

DImage扩展,可实现简单的图片下载需求。

扩展通过QueryList::run 方法运行,同时你可以花几分钟就能创建一个自己的QueryList扩展,这里就不深入讲解了。

laravel 集成采集_Laravel 使用 QueryList 轻松采集网页相关推荐

  1. ubuntu 压缩率最高的软件_不用写采集规则也可以轻松采集网站文章,揭秘一款明泽文章采集软件的工作原理...

    一直以来,大家都在用各种各样的采集器或网站自带的采集功能,如织梦采集侠.火车头采集器.八爪鱼采集器等,这些采集软件都有一个共同的特点,就是要编写采集规则才能采集到文章,这个技术性的问题,对于新手来说, ...

  2. php html采集,php file_get_contents函数轻松采集html数据

    当前位置:Gxlcms > php框架 > php file_get_contents函数轻松采集html数据 php file_get_contents函数轻松采集html数据 时间:2 ...

  3. laravel 集成采集_php laravel 万能采集器

    laravel queryList万能采集器 这套根据 kongqi laravel admin2.0 layui 框架做的插件,用于采集内容,以上采集器仅供学习和研究. 特色 jquery选择器写法 ...

  4. php querylist query,thinkphp5使用QueryList实现采集功能

    thinkphp5使用QueryList实现采集功能 龙行    PHP    2019-5-10    1631    0评论 QueryList是基于phpQuery的 1.下载`QueryLis ...

  5. 高效利器!站群文章采集器让你轻松搞定内容收集

    伴随着互联网的快速发展,自媒体越来越受到大众的关注,更多的人开始选择自媒体作为传播自己思想.品牌和产品的渠道.然而,对于很多自媒体从业者来说,写作本身并不是他们的强项,因此如何提高文章质量.提升阅读量 ...

  6. IOS 集成SeetaFace6框架,实现从采集到图像格式转换再到人脸检测,活体检测,人脸识别

    目录 前言 1.准备工作 2.开敲 2.1采集32BGRA图像,并转换成24BGR图像 2.2 加载模型,初始化,实现人脸检测,关键点提取,活体检测 3.报错集合 4.效果 前言 前脚把讯飞的语音唤醒 ...

  7. 亚马逊采集跟卖ERP轻松运营,方便跟卖

    做亚马逊跟卖或者僵尸跟卖,最重要的就是亚马逊的产品采集或者是僵尸采集,获得产品的的asin和品牌的备案状况.再去筛选出适合跟卖的产品. 按照常规思维,跟卖产品的选择就是在亚马逊的商品页去浏览点击产品的 ...

  8. 后羿采集器怎么导出数据_后羿采集器教程:如何采集东方财富网股票数据

    本文介绍如何使用采集器的智能模式,实时采集东方财富网行情中心新三板股票数据 采集工具简介: 后羿采集器是一款基于人工智能技术的网页采集器,只需要输入网址就能够自动识别网页数据,无需配置即可完成数据采集 ...

  9. php 定时采集数据,懒人一键采集(采集+推送+定时)

    可能是 ZBlog 最简单快捷的采集插件,说出来你可能不信 > 对该插件有任何疑问.反馈,可加作者 QQ:1365975459 进行交流 > 该插件需要修改一处 PHP 配置 教程参考  ...

最新文章

  1. 寒武纪宣布完成B轮融资 整体估值达25亿美元
  2. 准爸爸日记——20120502海淀妇幼建档续
  3. 拥有一台你的轻量应用服务器Lighthouse
  4. Java冒泡实现类Collections.sort()
  5. oracle添加文件,ORACLE---添加控制文件
  6. Spring Boot 2.x(十五):Dubbo + Zookeeper + Dubbo Admin
  7. 你真的了解Lambda表达式吗?
  8. 数据清洗代码 寒老师
  9. Python验证和可视化冰雹猜想、角谷猜想、考拉兹猜想
  10. 能让IT部门告别996的办公神器,你一定要知道
  11. Android应用性能优化整体策略
  12. 边境线 详解(C++)
  13. android studio不显示标题,Android Studio:活动预览不显示标题栏
  14. 1.c语言的基本框架,C语言基本程序框架
  15. c语言编程基础实验结果与分析,C语言实验指导1--C语言编程基础.doc
  16. div css 会员登录表单,html5 css3谷歌会员登录表单界面特效
  17. 案例|工业物联网解决方案·光伏电站
  18. python裁剪图像
  19. 用计算机制作演示文稿教案博客,信息技术:《制作演示文稿的一般过程》教案...
  20. CF 3-6 2级组 D题 STRESSFUL TRAINING 紧张的比赛

热门文章

  1. EntityFramework 4.1 如何加入项目
  2. JS-鼠标-键盘-文档-表单事件
  3. 模拟电路--单电源差分运算放大电路方案
  4. OpenCV3.4.3DNN 模块中sample-colorization、Easy-textdetector、openpose
  5. 机器学习实战7-sklearn集成学习和随机森林
  6. NG Ng-container(逻辑容器)
  7. 7-2 个位数统计 (15 分)
  8. java连接打印机访问被拒绝_java – 尝试访问spring security中的登录页面时访问被拒绝的异常...
  9. linux下dns服务器安装,Linux下DNS服务器安装配置方法详细介绍
  10. 牛客网数据库SQL实战答案解析下篇