在ThinkPHP5框架中使用QueryList4做采集

有人会使用 Python 去做爬虫,而这个 QueryList 可以让 PHP 做采集更容易。

QueryList 的几个特点:

  • 拥有与 jQuery 完全相同的 CSS3 DOM 选择器
  • 拥有与 jQuery 完全相同的 DOM 操作 API
  • 拥有通用的列表采集方案
  • 拥有强大的 HTTP 请求套件,轻松实现如:模拟登陆、伪造浏览器、HTTP 代理等意复杂的网络请求
  • 拥有乱码解决方案
  • 拥有强大的内容过滤功能,可使用 jQuey 选择器来过滤内容
  • 拥有高度的模块化设计,扩展性强
  • 拥有富有表现力的 API
  • 拥有高质量文档
  • 拥有丰富的插件
  • 拥有专业的问答社区和交流群

安装步骤

请使用 PHP7.0 版本以上进行安装。PHP7 以下环境无法安装和使用 QueryList4!

  • 下载 ThinkPHP5

ThinkPHP 是一个免费开源的,快速、简单的面向对象的轻量级 PHP 开发框架,是为了敏捷 WEB 应用开发和简化企业应用开发而诞生的。ThinkPHP 从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。遵循 Apache2 开源许可协议发布,意味着你可以免费使用 ThinkPHP,甚至允许把你基于 ThinkPHP 开发的应用开源或商业产品发布/销售。

5.1 版本开始,官网不再提供下载版本,请使用Composer或者 git 方式安装和更新。一般情况下,composer 安装的是最新的稳定版本,不一定是最新版本,所以为了适合学习过程,安装 5.1.x-dev 版本。

composer create-project topthink/think=5.1.x-dev tp5
  • 安装 QueryList

QueryList 是一个基于 phpQuery 的 PHP 通用列表采集类,得益于 phpQuery,让使用 QueryList 几乎没有任何学习成本,只要会 CSS3 选择器就可以轻松使用 QueryList 了,它让 PHP 做采集像 jQuery 选择元素一样简单。

在 ThinkPHP5 代码根目录执行 Composer 命令安装 QueryList,使用 Composer 安装时强制指定版本号

composer require jaeger/querylist:4.*
  • 使用 QueryList

下面演示在 Api 控制器中使用 QueryList:

<?php
namespace app\index\controller;

use QL\QueryList;

class Api {
     public function index() {
          $data = QueryList::get('https://qq52o.me')->find('img')->attrs('src');
          dump($data->all());
     }
}

就这样,get 方法获取某个页面下的所有图片~

get 方法获取某个页面下的所有图片
get 方法获取某个页面下的所有图片

愚人节水文完毕~~~愚人节到了,你放心我绝不会愚弄你的,由于我始终记得一条宗旨:欺负‘愚’人有罪,因此今天我只会祝福你,愿你愚人节快乐。

1 条评论

发表评论

*