QueryList是一套简洁、优雅的PHP采集工具(爬虫),基于phpQuery。
拥有与jQuery完全相同的CSS3 DOM选择器
拥有与jQuery完全相同的DOM操作API
拥有通用的列表采集方案
拥有强大的HTTP请求套件,轻松实现如:模拟登陆、伪造浏览器、HTTP代理等意复杂的网络请求
拥有乱码解决方案
拥有强大的内容过滤功能,可使用jQuey选择器来过滤内容
拥有高度的模块化设计,扩展性强
拥有富有表现力的API
拥有高质量文档
拥有丰富的插件
拥有专业的问答社区和交流群
通过插件可以轻松实现诸如:
多线程采集
图片本地化
模拟浏览器行为,如:提交Form表单
网络爬虫
.....
composer require jaeger/querylist
采集「昵图网」所有图片地址
QueryList::get('http://www.nipic.com')->find('img')->attrs('src');
采集百度搜索结果
$ql = QueryList::get('http://www.baidu.com/s?wd=QueryList'); $ql->find('title')->text(); // 获取网站标题 $ql->find('meta[name=keywords]')->content; // 获取网站头部关键词 $ql->find('h3>a')->texts(); //获取搜索结果标题列表 $ql->find('h3>a')->attrs('href'); //获取搜索结果链接列表 $ql->find('img')->src; //获取第一张图片的链接地址 $ql->find('img:eq(1)')->src; //获取第二张图片的链接地址 $ql->find('img')->eq(2)->src; //获取第三张图片的链接地址 // 遍历所有图片 $ql->find('img')->map(function($img){ echo $img->alt; //打印图片的alt属性 });
采集百度搜索结果列表的标题和链接:
$data = QueryList::get('http://www.baidu.com/s?wd=QueryList') // 设置采集规则 ->rules([ 'title'=>array('h3','text'), 'link'=>array('h3>a','href') ]) ->query()->getData(); print_r($data->all());
采集结果:
Array ( [0] => Array ( [title] => QueryList|基于phpQuery的无比强大的PHP采集工具 [link] => http://www.baidu.com/link?url=GU_YbDT2IHk4ns1tjG2I8_vjmH0SCJEAPuuZN ) [1] => Array ( [title] => PHP 用QueryList抓取网页内容 - wb145230 - 博客园 [link] => http://www.baidu.com/link?url=zn0DXBnrvIF2ibRVW34KcRVFG1_bCdZvqvwIhUqiXaS ) [2] => Array ( [title] => 介绍- QueryList指导文档 [link] => http://www.baidu.com/link?url=pSypvMovqS4v2sWeQo5fDBJ4EoYhXYi0Lxx ) //... )
查看更多用法:https://github.com/jae-jae/QueryList
QueryList交流社区: http://querylist.cc/
QueryList文档: http://doc.querylist.cc/
前言 很多人在做网站的时候可能有这样的需求,前期网站内容不多需要从外站获取,需求量较大的时候,我们不可能手工进行转载。这时候“爬虫”显得尤为重要。下面就让我介绍在php下如何做一个“爬虫”。 前期我在做小程序的时候需要大量的关于电脑的文章(教程),自己打算写一个爬虫直接打算从网上爬取。由于自己的经验不足只单纯的利用了PHP的字符截取替换查找及正则表达式写了一个PHP爬虫,虽然最后达到了爬取的作用,
1, 以thinkphp3.2 为例子,在thinkphp/libriy/创建一个目录 QL/ 装入.qeurylist.php 和, queruseylist.class.php 2,在controller层里创建一个php 的文件,use QL/queryliset.
namespace QL; use phpQuery,Exception,ReflectionClass; use Monolog\Logger; use Monolog\Handler\StreamHandler; /** * QueryList * * 一个基于phpQuery的通用列表采集类 * * @author Jaeger * @email 734708094@qq.com * @li
获取QueryList 方式一:到PHP中文网下载站下载网站QueryList文件 到官网找到对应的下载链接,然后选择想要下载的QueryList版本,下载压缩包,解压后即可使用。 方式二:通过composer安装 (推荐) 执行命令: composer require jaeger/querylist 获取QueryList插件 QueryList扩展需要选择性的单独安装,以下是几个插件是默认的
注:本文是基于ThinkPHP3.2.3进行讲解 方法一:通过composer自动安装 直接在ThinkPHP根目录执行命令:composer require jaeger/querylist 就安装好了QueryList了,然后在index.php中引入composer的自动加载文件:<?php // 应用入口文件 //........ //加上下面这一句话,用于自动加载QueryList re
1、QueryList手册:https://www.php.cn/course/371.html QueryList V4版本文档: https://querylist.cc/docs/guide/v4/ 2、下载QueryList:https://www.php.cn/xiazai/leiku/308,解压得到phpQuery.php和QueryList.php这两个文件。 3、手动
1、tp框架搭配querylist 使用CurlMulti插件 多线程执行后在执行一段时间后出现404 2、环境 php nginx mysql 数据量不小(本来用的apache,后来动不动服务器500,代码超时时间都设置了,不行就切换nginx) 3、相关代码 // 请把代码文本粘贴到下方(请勿用图片代替代码) 如下如果这个url 404 那么往后就不执行了 其实我加了判断来着 public f
thinkphp5使用QueryList实现采集功能 龙行 PHP 2019-5-10 1631 0评论 QueryList是基于phpQuery的 1.下载`QueryList.php`和`phpQuery.php`这两个文件。 2.在`extend`下新建`QL`目录。 3.将下载好的`QueryList.php`和`phpQuery.php`这两个文件复制到`exte
本文向大家介绍Spring Boot中优雅的获取yml文件工具类,包括了Spring Boot中优雅的获取yml文件工具类的使用技巧和注意事项,需要的朋友参考一下 如何在spring boot中优雅的获取.yml文件工具类呢 代码如下: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对呐喊教程的支持。如果你想了解更多相关内容请查看下面相关链接
一 数据采集概念 任何完整的大数据平台,一般包括以下的几个过程: 数据采集 数据存储 数据处理 数据展现(可视化,报表和监控) 其中,数据采集是所有数据系统必不可少的,随着大数据越来越被重视,数据采集的挑战也变的尤为突出。这其中包括: 数据源多种多样 数据量大,变化快 如何保证数据采集的可靠性的性能 如何避免重复数据 如何保证数据的质量 我们今天就来看看当前可用的六款数据采集的产品,重点关注它们是
本文向大家介绍10个简化PHP开发的工具,包括了10个简化PHP开发的工具的使用技巧和注意事项,需要的朋友参考一下 本文介绍了可以帮助简化 PHP 开发的10个项目,包括框架,类库,工具,代码。 1.CakePHP Development Framework CakePHP 是一个 PHP 的快速开发框架。它提供了可扩展的架构,使用了常见的 MVC 和 ORM 模式。它遵循约定优于配置理念。 2.
本文向大家介绍php实现简单爬虫的开发,包括了php实现简单爬虫的开发的使用技巧和注意事项,需要的朋友参考一下 有时候因为工作、自身的需求,我们都会去浏览不同网站去获取我们需要的数据,于是爬虫应运而生,下面是我在开发一个简单爬虫的经过与遇到的问题。 开发一个爬虫,首先你要知道你的这个爬虫是要用来做什么的。我是要用来去不同网站找特定关键字的文章,并获取它的链接,以便我快速阅读。 按照
本文向大家介绍PHP实现简单爬虫的方法,包括了PHP实现简单爬虫的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP实现简单爬虫的方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的php程序设计有所帮助。
本文向大家介绍如何优雅地使用c语言编写爬虫,包括了如何优雅地使用c语言编写爬虫的使用技巧和注意事项,需要的朋友参考一下 大家在平时或多或少地都会有编写网络爬虫的需求。一般来说,编写爬虫的首选自然非python莫属,除此之外,java等语言也是不错的选择。选择上述语言的原因不仅仅在于它们均有非常不错的网络请求库和字符串处理库,还在于基于上述语言的爬虫框架非常之多和完善。良好的爬虫框架可以确保爬虫程序
本文向大家介绍初识简单却不失优雅的Vue.js,包括了初识简单却不失优雅的Vue.js的使用技巧和注意事项,需要的朋友参考一下 作为一名Vue.js的忠实用户,我想有必要写点文章来歌颂这一门美好的语言了,我给它的总体评价是“简单却不失优雅,小巧而不乏大匠”,下面将围绕这句话给大家介绍Vue.js,希望能够激发你对Vue.js的兴趣。 Vue.js简介 Vue.js的作者为Evan You(尤雨
本文向大家介绍PHP 代码简洁之道(小结),包括了PHP 代码简洁之道(小结)的使用技巧和注意事项,需要的朋友参考一下 介绍 Robert C.Martin's 的 软件工程师准则 Clean Code 同样适用于 PHP。它并不是一个编码风格指南,它指导我们用 PHP 写出具有可读性,可复用性且可分解的代码。 并非所有的准则都必须严格遵守,甚至一些已经成为普遍的约定。这仅仅作为指导方针,其中许多