在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 条评论

发表评论

*