php querylist query,thinkphp5使用QueryList实现采集功能
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实现采集功能相关推荐
- 基于ThinkPHP5 使用QueryList爬取 并存入mysql数据库
QueryList4教程 地址: https://doc.querylist.cc/site/index/doc/45 在ThinkPHP5代码根目录执行composer命令安装QueryList: ...
- querylist.php下载,PHP 强大的采集工具,QueryList
# QueryList简介 *** `QueryList`是一个基于`phpQuery`的通用列表采集类,是一个简单. 灵活.强大的采集工具,采集任何复杂的页面 基本上就一句话就能搞定了. # ...
- 显示ip地址及包含采集功能的全套函数源代码
以下代码包含有显示本机IP地址及远程采集功能的全套通用函数,是一些小偷程序,采集程序的最简单的应用程序包,推荐收藏. 以下是源代码: <% Response.expires = 0 Respon ...
- h5制作 php 开源,PHP源码:2019最新仿易企秀V15.1完整版开源版源码,修复采集功能、新增同行站模板采集等...
源码说明: 更新功能如下: 新增同行站模板采集 修复模板中心采集方法 修复自定义场景加载LOGO问题 预览H5不在是默认封面加载 可以自定义自己的网站LOGO 安装说明: 把源码包上传到网站根目录 然 ...
- 易企秀 伪静态 linux,最新仿易企秀V15.1完整版开源版源码分享,修复采集功能,新增同行站模板采集功能等等...
源码说明:0 j; j/ T/ g! d* a& [ 易企秀是一款针对移动互联网营销的手机网页DIY制作工具,用户可以编辑手机网页,分享到社交网络,通过报名表单收集潜在客户或其他反馈信息.用户 ...
- 30秒教会您Orange一键资源采集功能
每个设计师平时都有积累素材的习惯,它能让设计师后续的创作更加便捷高效:但每个设计师都会遇到一个问题:所需要的素材资源下载困难,往往需要花费大量时间进行采集和整理. Orange一键资源采集功能可以轻松 ...
- FMC子卡:2 路 14bit、3G ADC 采集功能、2 路 16bit 12.6G 回放
FMC123 是一款基于 FMC 标准规范,实现 2 路 14-bit.3GSPSADC 采集功能.2 路 16-bit 12.6GSPS 回放子卡模块.该模块遵循VITA57.1 标准,可直接与 F ...
- 小程序源码:(自营)独家最新款带部分采集功能壁纸/头像/动态壁纸小程序上线超炫裂变超强支持投稿+视频教程
新款壁纸表情包头像小程序(dcloud云开发) 支持微信QQ双端小程序也就是说可以打包成微信小程序也可以打包成QQ小程序 相当于一码二用,非常划算 无需授权,源码全开源,支持二开 无需服务器.无需域名 ...
- DedeCMS采集功能
DedeCMS采集功能使用基本知识讲解 2010-08-09 16:58:13| 分类:dedecms学习 | 标签:采集 规则 列表 内容 页面 |字号大中小 订阅 采集是指有着确定方 ...
最新文章
- 2014腾讯校园招聘研发笔试题
- Windows Phone 7 开“.NET研究”发之:工具栏
- python绘制3d图-python3利用Axes3D库画3D模型图
- JavaScript之 Array(数组) 对象
- Asp.Net MVC 3【URLs, Routing,and Areas】续
- weexpack占据的存储空间
- mysql清理死链接_对MySQL的死连接Sleep的进程的来源研究
- [Ural1099]工作安排 带花树
- Object C中创建线程的方法有NSThread,GCD, NSOperation
- Jenkins 定时构建和Poll SCM的区别
- Hexo 添加百度统计
- 2021年黄石二中高考成绩查询,【黄石二中2018高考金榜】黄石二中2004届高考总结...
- 闲谈IPv6-我们在技术思维上需要作出改变(1)
- CAAI名誉理事长李德毅院士谈机器的生命观
- 电脑没声音,喇叭上一个叉,显示无法找到输入输出设备(录制,耳机等等)
- 典型习题:齐次Markov链的遍历性及平稳分布
- 阿里云服务器 开放端口
- 浅谈音视频自动化测试
- 昆明理工大学计算机技术英语翻译,昆明理工大学自动化专业英语翻译学习指导书.ppt...
- amd的cpu跑python_Windows下用cpu模式跑通目标检测py-faster-rcnn 的demo.py