首页 >每日编程 >PHP知识 > 正文

PHP采集插件QueryList实践教学(一)

原创2020-04-29 09:59:115126035
一: 需求背景

作为一个开发人员,在日常开发中或多或少多会遇到采集的需求,需要采集某个网站的数据、文章等等,同时在还需要对采集到内容进行解析,分类等操作。在解析分类的过程中,大多数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('//m.sbmmt.com/',array("url"=>array('.unit h1 a','href')));

$data = $hj->getData(function($x){
    return $x['url'];
});

print_r($data);

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

以上就是PHP采集插件QueryList实践教学(一)的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:QueryList
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论条评论
    Peter Chang 華興
  • Peter Chang 華興· 2021-08-29 19:43:305楼
  • 不错不错,我自己在这篇学到不少知识,推一下 https://php-peter.blogspot.com/2021/08/wordpress-plugin-3.html

  • jinmandou
  • jinmandou· 2020-12-03 13:42:594楼
  • 好是好,就是一个插件套一个插件,下一个送5,6个库

  • 小雨
  • 小雨· 2020-06-09 11:03:353楼
  • 为什么我的直接使用会报错 Fatal error: Uncaught Error: Class 'QueryList' not found in E:\phpstudy_pro\WWW\test\index.php:46 Stack trace: #0 {main} thrown in E:\phpstudy_pro\WWW\test\index.php on line 46 请求指点

  • Miss 高
  • Miss 高· 2020-05-08 17:59:562楼
  • 明天,,你好

  • Savior
  • Savior· 2020-04-29 10:03:441楼
  • 不错不错加油加油

  • 专题推荐

    推荐视频教程
  • QueryList采集器开发手册QueryList采集器开发手册
  • 三天学会PHP爬虫视频教程三天学会PHP爬虫视频教程
  • PHP快速操控Excel之PhpSpreadsheetPHP快速操控Excel之PhpSpreadsheet
  • 视频教程分类