视频教程分类
推荐视频教程
  • php程序员小白到大牛三个月集训php程序员小白到大牛三个月集训
  • Laravel 9 学习正当时—保姆级教程,想学不会都难!Laravel 9 学习正当时—保姆级教程,想学不会都难!
  • 千万级数据并发解决方案(理论+实战)千万级数据并发解决方案(理论+实战)
  • Laravel基础与实战(模块化)Laravel基础与实战(模块化)
  • 首页 >每日编程 >PHP知识 > 正文

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

    原创2020-04-29 09:59:11165507 关注公众号:每天精选资源文章推送
    一: 需求背景

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

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

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

    20期PHP线上班

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

  • 相关标签:QueryList
  • 推荐:PHP从基础到实战教程视频

    相关文章

    相关视频


    专题推荐