很多小伙伴都知道python爬虫可以使用BeautifulSoup和request等,但是使用php同时又想爬虫结合他们是很痛苦的,经过小编的尝试找到了一套针对php编程者使用的QueryList。
QueryList 简介 点击查看官方文档QueryList V4 中文文档
QueryList是一套用于内容采集的PHP工具,它使用更加现代化的开发思想,语法简洁、优雅,可扩展性强。相比传统的使用晦涩的正则表达式来做采集,QueryList使用了更加强大而优雅的CSS选择器来做采集,大大降低了PHP做采集的门槛,同时也让采集代码易读易维护,让你从此告别晦涩难懂且不易维护的正则表达式。
- QueryList 提供的一整套内容采集解决方案
- DOM内容选择:CSS选择器
- HTTP客户端:GuzzleHTTP
- 内容过滤:CSS选择器
- 解决乱码:内置多套乱码解决方案
- 额外功能:丰富的扩展插件
简单的入门案例
$data = QueryList::get('https://www.baidu.com/s?wd=QueryList')
// 设置采集规则
->rules([
'title'=>array('h3','text'),
'link'=>array('h3>a','href')
])
->queryData();
print_r($data);
采集结果
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
)
//...
)
安装
环境要求:PHP >= 7.0
composer安装:composer require jaeger/querylist
引入使用案例
<?php
namespace app\index\controller;
use QL\QueryList;
class Index
{
public function index()
{
//采集某页面所有的图片
$data = QueryList::get('http://cms.querylist.cc/bizhi/453.html')->find('img')->attrs('src');
//打印结果
print_r($data->all());
}
}