PHP采集插件QueryList实践教学

 3687

一: 需求背景

作为一个开发人员,在日常开发中或多或少多会遇到采集的需求,需要采集某个网站的数据、文章等等,同时在还需要对采集到内容进行解析,分类等操作。在解析分类的过程中,大多数PHPer使用正则的方式来分析爬到的数据,增加了难度的同时效率也没有得到提升,用QueryList则可以很简单的结果问题。


二:什么是QueryList?

QueryList是一个基于phpQuery的开源项目,可以让PHPer在采集信息时对内容进行一个类似JQuery的DOM操作,十分简洁方便,贴合平常开发的习惯。


三:下载安装

(1) 环境要求,安装方式有两种,选中以下任意一种都可以。

  1. PHP >= 5.3

(2) 安装方式-使用composer安装

  1. composer require jaeger/querylist:V3.2.1

或者在项目的composer.json文件中加入以下配置,之后composer update

  1. "require" : {
  2.     "jaeger/querylist": "^3.2"
  3. }

安装完成之后在项目中,直接引入vendor/autoload.php文件,即可直接开始使用

(3) 测试

  1. $html = <<<STR
  2. <div id="one">
  3.     <div class="two">
  4.         <a href="http://querylist.cc">QueryList官网</a>
  5.         <img src="http://querylist.com/1.jpg" alt="这是图片">
  6.         <img src="http://querylist.com/2.jpg" alt="这是图片2">
  7.     </div>
  8.     <span>其它的<b>一些</b>文本</span>
  9. </div>        
  10. STR;
  11. $rules = array(
  12.     //采集id为one这个元素里面的纯文本内容
  13.     'text' => array('#one','text'),
  14.     //采集class为two下面的超链接的链接
  15.     'link' => array('.two>a','href'),
  16.     //采集class为two下面的第二张图片的链接
  17.     'img' => array('.two>img:eq(1)','src'),
  18.     //采集span标签中的HTML内容
  19.     'other' => array('span','html')
  20. );
  21. $data = QueryList::Query($html, $rules)->data;
  22. var_dump($data);

(4) 安装方式-手动安装

前往Github下载代码 https://github.com/jae-jae/QueryL,获取其中的QueryList.php和phpQuery.php这两个文件放到项目中即可

(5) 测试

  1. <?php
  2. require 'phpQuery.php';
  3. require 'QueryList.php';
  4.  
  5. use QL\QueryList;
  6.  
  7. $hj = QueryList::Query('https://php.cn/',array("url"=>array('.unit h1 a','href')));
  8.  
  9. $data = $hj->getData(function($x){
  10.     return $x['url'];
  11. });
  12.  
  13. print_r($data);

总结,这个插件下载安装还是很简单的,下期为大家介绍简单的采集文章内容,适合初学者学习,欢迎大家关注,及时收到新课程提醒。



本文网址:https://www.zztuku.com/detail-9553.html
站长图库 - PHP采集插件QueryList实践教学
申明:如有侵犯,请 联系我们 删除。

评论(0)条

您还没有登录,请 登录 后发表评论!

提示:请勿发布广告垃圾评论,否则封号处理!!

    编辑推荐