PHP采集插件QueryList实践教学(一)
一: 需求背景
作为一个开发人员,在日常开发中或多或少多会遇到采集的需求,需要采集某个网站的数据、文章等等,同时在还需要对采集到内容进行解析,分类等操作。在解析分类的过程中,大多数PHPer使用正则的方式来分析爬到的数据,增加了难度的同时效率也没有得到提升,用QueryList则可以很简单的结果问题。
二:什么是QueryList?
QueryList是一个基于phpQuery的开源项目,可以让PHPer在采集信息时对内容进行一个类似JQuery的DOM操作,十分简洁方便,贴合平常开发的习惯。
三:下载安装
(1) 环境要求,安装方式有两种,选中以下任意一种都可以。
PHP >= 5.3
(2) 安装方式-使用composer安装
composer require jaeger/querylist:V3.2.1
或者在项目的composer.json文件中加入以下配置,之后composer update
"require" : { "jaeger/querylist": "^3.2" }
安装完成之后在项目中,直接引入vendor/autoload.php文件,即可直接开始使用
(3) 测试
$html = <<<STR <div id="one"> <div class="two"> <a href="http://querylist.cc">QueryList官网</a> <img src="http://querylist.com/1.jpg" alt="这是图片"> <img src="http://querylist.com/2.jpg" alt="这是图片2"> </div> <span>其它的<b>一些</b>文本</span> </div> STR; $rules = array( //采集id为one这个元素里面的纯文本内容 'text' => array('#one','text'), //采集class为two下面的超链接的链接 'link' => array('.two>a','href'), //采集class为two下面的第二张图片的链接 'img' => array('.two>img:eq(1)','src'), //采集span标签中的HTML内容 'other' => array('span','html') ); $data = QueryList::Query($html, $rules)->data; var_dump($data);
(4) 安装方式-手动安装
前往Github下载代码https://github.com/jae-jae/QueryL,获取其中的QueryList.php和phpQuery.php这两个文件放到项目中即可
(5) 测试
<?php require 'phpQuery.php'; require 'QueryList.php'; use QL\QueryList; $hj = QueryList::Query('https://php.cn/',array("url"=>array('.unit h1 a','href'))); $data = $hj->getData(function($x){ return $x['url']; }); print_r($data);
总结,这个插件下载安装还是很简单的,下期为大家介绍简单的采集文章内容,适合初学者学习,欢迎大家关注,及时收到新课程提醒。
在前面的文章《》中,我们为大家介绍了如何利用静态变量的方法来实现递归算法。本篇文章我们就继续为大家介绍另一种实现递归算法的方法即通过全局变量的方法。 下面我们结合代码示例,为大家介绍通过全局变量Global实现递归的方法。 代码如下:
关注微信公众号『OOINK』
第一时间了解最新资源动态关注OO.INK不迷路~
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 下载资源需要解压密码,解压密码是什么?
2、分享目的仅供大家学习和交流,请不要用于商业用途!
3、本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
4、如有链接无法下载、失效或广告,请联系管理员处理!
5、本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
OO.INK资源网 » PHP采集插件QueryList实践教学(一)