QueryList是一套简洁、优雅的PHP采集工具(爬虫),基于phpQuery。
特性:拥有与jQuery完全相同的CSS3DOM选择器
拥有与jQuery完全相同的DOM操作API
拥有通用的列表采集方案
拥有强大的HTTP请求套件,轻松实现如:模拟登陆、伪造浏览器、HTTP代理等意复杂的网络请求
拥有乱码解决方案
拥有强大的内容过滤功能,可使用jQuey选择器来过滤内容
拥有高度的模块化设计,扩展性强
拥有富有表现力的API
拥有高质量文档
拥有丰富的插件
拥有专业的问答社区和交流群
通过插件可以轻松实现诸如:
多线程采集
图片本地化
模拟浏览器行为,如:提交Form表单
网络爬虫
.....
安装:composer require jaeger/querylist用法:元素操作采集「昵图网」所有图片地址
QueryList::get('https://www.nipic.com')->find('img')->attrs('src');采集百度搜索结果
$ql = QueryList::get('https://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('https://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] => https://www.baidu.com/link?url=GU_YbDT2IHk4ns1tjG2I8_vjmH0SCJEAPuuZN ) [1] => Array ( [title] => PHP 用QueryList抓取网页内容 - wb145230 - 博客园 [link] => https://www.baidu.com/link?url=zn0DXBnrvIF2ibRVW34KcRVFG1_bCdZvqvwIhUqiXaS ) [2] => Array ( [title] => 介绍- QueryList指导文档 [link] => https://www.baidu.com/link?url=pSypvMovqS4v2sWeQo5fDBJ4EoYhXYi0Lxx ) //...)查看更多用法:https://github.com/jae-jae/QueryList
寻求帮助?
QueryList交流社区: https://querylist.cc/
QueryList文档: https://doc.querylist.cc/
Git@OSC:https://git.oschina.net/jae/QueryList
GitHub:https://github.com/jae-jae/QueryList
评论