您好!欢迎来到百站资源商城源码

百站资源商城源码

热门搜索: 网站源码   

PHP采集插件QueryList实践教学

  • 建站知识
  • 时间:2021-10-24 19:48
  • 阅读:145

一: 需求背景

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


二:什么是QueryList?

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


三:下载安装

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

  1. PHP >= 5.3

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

 composer require jaeger/querylist:V3.2.1

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

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

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

(3) 测试

  1. $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 QLQueryList;
     
    $hj = QueryList::Query('https://php.cn/',array("url"=>array('.unit h1 a','href')));
     
    $data = $hj->getData(function($x){
        return $x['url'];
    });
     
    print_r($data);

总结,这个插件下载安装还是很简单的,下期为大家介绍简单的采集文章内容,适合初学者学习,欢迎大家关注

全部评论(0)
资讯详情页最新发布上方横幅
推荐阅读
  • 最新版织梦DedeCms模板安装教程详细图文
  • 最新版织梦DedeCms模板安装教程详细图文
  • 第一步:将下载的源码包上传到你的网站根目录下面;打开网站如果出现Dir,把install_lock.txt删掉,再把有.bak的重命名删除即可。第二步:打开浏览器输入http://你的网址/install/index.php 当打开安装页面的时候,你就会看到以下页面如果没有出现该页面,而是出现了一个空白页面写着dir,那么请删除install文件夹中的install.lock.txt并且把index.php.bak改成
  • 站长教程
  • 时间:2021-10-26 01:47
  • 阅读:188
  • 如何把导航修改成100%显示
  • 如何把导航修改成100%显示
  • 发现很多站长问这个问题,需要修改模板和CSS样式实现。说下简单的修改实现方法:1、修改template/default/common/header.htm,搜索修改为               &
  • 站长教程
  • 时间:2021-10-24 21:07
  • 阅读:289
  • ucenter通信成功,通知失败的解决办法之一
  • ucenter通信成功,通知失败的解决办法之一
  • 遇到一些站长出现ucenter通信成功,更改用户名的时候,出现ucenter用户名更改,但是论坛下的未更改,解决办法:找到/source/class/discuz/discuz_application.php的文件删除删除369-371这三行代码if(strpos($temp,$str)!==false){         
  • 站长教程
  • 时间:2021-10-24 21:06
  • 阅读:147
  • dedecms如何添加和部署php文件
  • dedecms如何添加和部署php文件
  • 前言:有时候我们需要创建一些单独的PHP文件,但是随机放置的PHP文件无法编译智盟DEDECM的标签,所以我们需要介绍智盟标签的编译引擎方案。例如,我们在根目录中创建example.php。代码如下:12345678
  • 站长教程
  • 时间:2021-10-24 20:51
  • 阅读:167
联系我们
Q Q:840220660
电话:13530677827
邮箱:ask@ke299.com
时间:09:00 - 24:00
底部广告-1250*?
联系客服
购买源码 百站客服 联系客服
13530677827
手机版

扫一扫进手机版
返回顶部