thinkphp5使用QueryList实现采集功能

龙行    PHP    2019-5-10    1631    0评论

QueryList是基于phpQuery的

1.下载`QueryList.php`和`phpQuery.php`这两个文件。

2.在`extend`下新建`QL`目录。

3.将下载好的`QueryList.php`和`phpQuery.php`这两个文件复制到`extend/QL`目录。

4.在QueryList.php头部加入

在需要使用的控制器中加入

use QL\QueryList;

下面给出一个示例代码:

//需要采集的目标页面

$page = 'http://cms.querylist.cc/news/566.html';

//采集规则

$reg = array(

//采集文章标题

'title' => array('h1','text'),

//采集文章发布日期,这里用到了QueryList的过滤功能,过滤掉span标签和a标签

'date' => array('.pt_info','text','-span -a',function($content){

//用回调函数进一步过滤出日期

$arr = explode(' ',$content);

return $arr[0];

}),

//采集文章正文内容,利用过滤功能去掉文章中的超链接,但保留超链接的文字,并去掉版权、JS代码等无用信息

'content' => array('.post_content','html','a -.content_copyright -script',function($content){

//利用回调函数下载文章中的图片并替换图片路径为本地路径

//使用本例请确保当前目录下有image文件夹,并有写入权限

//由于QueryList是基于phpQuery的,所以可以随时随地使用phpQuery,当然在这里也可以使用正则或者其它方式达到同样的目的

$doc=\phpQuery::newDocumentHTML($content);

$imgs = pq($doc)->find('img');

foreach ($imgs as $img) {

$src = 'http://cms.querylist.cc'.pq($img)->attr('src');

$localSrc = md5($src).'.jpg';

$stream = file_get_contents($src);

file_put_contents($localSrc,$stream);

pq($img)->attr('src',$localSrc);

}

return $doc->htmlOuter();

})

);

$rang = '.content';

$ql = QueryList::Query($page,$reg,$rang);

$data = $ql->getData();

//打印结果

print_r($data);

注意:在使用phpQuery类时需要在前面加上\,因为phpQuery.php中没有使用命名空间,因为使用命名空间后,QueryList.php无法使用phpQuery类。

评论一下

赞助站长

赞助站长X

版权申明:此文如未标注转载均为本站原创,自由转载请表明出处《龙行博客》。

本文网址:https://www.liaotaoo.cn/216.html

php querylist query,thinkphp5使用QueryList实现采集功能相关推荐

  1. 基于ThinkPHP5 使用QueryList爬取 并存入mysql数据库

    QueryList4教程 地址: https://doc.querylist.cc/site/index/doc/45 在ThinkPHP5代码根目录执行composer命令安装QueryList: ...

  2. querylist.php下载,PHP 强大的采集工具,QueryList

    # QueryList简介 *** `QueryList`是一个基于`phpQuery`的通用列表采集类,是一个简单. 灵活.强大的采集工具,采集任何复杂的页面     基本上就一句话就能搞定了. # ...

  3. 显示ip地址及包含采集功能的全套函数源代码

    以下代码包含有显示本机IP地址及远程采集功能的全套通用函数,是一些小偷程序,采集程序的最简单的应用程序包,推荐收藏. 以下是源代码: <% Response.expires = 0 Respon ...

  4. h5制作 php 开源,PHP源码:2019最新仿易企秀V15.1完整版开源版源码,修复采集功能、新增同行站模板采集等...

    源码说明: 更新功能如下: 新增同行站模板采集 修复模板中心采集方法 修复自定义场景加载LOGO问题 预览H5不在是默认封面加载 可以自定义自己的网站LOGO 安装说明: 把源码包上传到网站根目录 然 ...

  5. 易企秀 伪静态 linux,最新仿易企秀V15.1完整版开源版源码分享,修复采集功能,新增同行站模板采集功能等等...

    源码说明:0 j; j/ T/ g! d* a& [ 易企秀是一款针对移动互联网营销的手机网页DIY制作工具,用户可以编辑手机网页,分享到社交网络,通过报名表单收集潜在客户或其他反馈信息.用户 ...

  6. 30秒教会您Orange一键资源采集功能

    每个设计师平时都有积累素材的习惯,它能让设计师后续的创作更加便捷高效:但每个设计师都会遇到一个问题:所需要的素材资源下载困难,往往需要花费大量时间进行采集和整理. Orange一键资源采集功能可以轻松 ...

  7. FMC子卡:2 路 14bit、3G ADC 采集功能、2 路 16bit 12.6G 回放

    FMC123 是一款基于 FMC 标准规范,实现 2 路 14-bit.3GSPSADC 采集功能.2 路 16-bit 12.6GSPS 回放子卡模块.该模块遵循VITA57.1 标准,可直接与 F ...

  8. 小程序源码:(自营)独家最新款带部分采集功能壁纸/头像/动态壁纸小程序上线超炫裂变超强支持投稿+视频教程

    新款壁纸表情包头像小程序(dcloud云开发) 支持微信QQ双端小程序也就是说可以打包成微信小程序也可以打包成QQ小程序 相当于一码二用,非常划算 无需授权,源码全开源,支持二开 无需服务器.无需域名 ...

  9. DedeCMS采集功能

    DedeCMS采集功能使用基本知识讲解 2010-08-09 16:58:13|  分类:dedecms学习 |  标签:采集  规则  列表  内容  页面  |字号大中小 订阅 采集是指有着确定方 ...

最新文章

  1. 2014腾讯校园招聘研发笔试题
  2. Windows Phone 7 开“.NET研究”发之:工具栏
  3. python绘制3d图-python3利用Axes3D库画3D模型图
  4. JavaScript之 Array(数组) 对象
  5. Asp.Net MVC 3【URLs, Routing,and Areas】续
  6. weexpack占据的存储空间
  7. mysql清理死链接_对MySQL的死连接Sleep的进程的来源研究
  8. [Ural1099]工作安排 带花树
  9. Object C中创建线程的方法有NSThread,GCD, NSOperation
  10. Jenkins 定时构建和Poll SCM的区别
  11. Hexo 添加百度统计
  12. 2021年黄石二中高考成绩查询,【黄石二中2018高考金榜】黄石二中2004届高考总结...
  13. 闲谈IPv6-我们在技术思维上需要作出改变(1)
  14. CAAI名誉理事长李德毅院士谈机器的生命观
  15. 电脑没声音,喇叭上一个叉,显示无法找到输入输出设备(录制,耳机等等)
  16. 典型习题:齐次Markov链的遍历性及平稳分布
  17. 阿里云服务器 开放端口
  18. 浅谈音视频自动化测试
  19. 昆明理工大学计算机技术英语翻译,昆明理工大学自动化专业英语翻译学习指导书.ppt...
  20. amd的cpu跑python_Windows下用cpu模式跑通目标检测py-faster-rcnn 的demo.py

热门文章

  1. Python基础之 8. 异常、模块
  2. access横向求和sum_对ACCESS数据表项目下的所有数据求和(列求和)及计数
  3. 美国麻省理工学院数学公开课观后有感
  4. cesium加载OGC服务
  5. 甜橙金融敏捷实践之路--零售金融
  6. 0基础学android开发,我们究竟还要学习哪些Android知识
  7. 【转】Ansible 模块之 lineinfile 详细介绍
  8. ubuntu查看core dumped的详细错误原因
  9. P1502 窗口的星星题解(扫描线)
  10. linux 查看redis日志文件,Ubuntu上Redis日志文件的位置