龙行博客

走路看风景,经历看人生,岁月留痕迹,人生留轨迹,17的历史,18的豪情,时间的匆忙,人生的风景,放开心胸往前走,成功再远行,放开理想往前走,梦想再行动。
现在位置:首页 > 编程语言 > PHP > thinkphp5使用QueryList实现采集功能

thinkphp5使用QueryList实现采集功能

龙行    PHP    2019-5-10    423    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类

QueryList参考文档:https://doc.querylist.cc/


评论一下 分享本文 赞助站长

赞助站长X

扫码赞助站长
联系站长
龙行博客
  • 版权申明:此文如未标注转载均为本站原创,自由转载请表明出处《龙行博客》。
  • 本文网址:https://www.liaotaoo.cn/216.html
  • 上篇文章:go语言文件创建读写操作笔记
  • 下篇文章:php遍历所有文件及文件下子文件夹
  • tp5
挤眼 亲亲 咆哮 开心 想想 可怜 糗大了 委屈 哈哈 小声点 右哼哼 左哼哼 疑问 坏笑 赚钱啦 悲伤 耍酷 勾引 厉害 握手 耶 嘻嘻 害羞 鼓掌 馋嘴 抓狂 抱抱 围观 威武 给力
提交评论

清空信息
关闭评论
快捷导航
联系博主
在线壁纸
给我留言
四四五五
音乐欣赏
返回顶部