PHP巧用QueryList大大简化采集程序
QueryList官网地址:http://www.querylist.cc/
QueryList 是什么
QueryList是一套用于内容采集的PHP工具,它使用更加现代化的开发思想,语法简洁、优雅,可扩展性强。相比传统的使用晦涩的正则表达式来做采集,QueryList使用了更加强大而优雅的CSS选择器来做采集,大大降低了PHP做采集的门槛,同时也让采集代码易读易维护,让你从此告别晦涩难懂且不易维护的正则表达式?。
QueryList 提供的一整套内容采集解决方案
DOM内容选择:CSS选择器
HTTP客户端:GuzzleHTTP
内容过滤:CSS选择器
解决乱码:内置多套乱码解决方案
额外功能:丰富的扩展插件
示例代码
先来感受一下使用 QueryList 来做采集是什么样子。
$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
)
//...
)
分别采集百度搜索结果列表的标题和链接
$ql = QueryList::get('https://www.baidu.com/s?wd=QueryList');
$titles = $ql->find('h3>a')->texts(); //获取搜索结果标题列表
$links = $ql->find('h3>a')->attrs('href'); //获取搜索结果链接列表
print_r($titles);
print_r($links);
返回结果:
Array
(
[0] => QueryList|简洁、优雅的PHP采集工具
[1] => phpQuery选择器 - QueryList 4.0 指导文档
[2] => php写爬虫进行采集 QueryList的使用 - CSDN博客
[3] => QueryList采集在线测试
[4] => 介绍- QueryList 4.0 指导文档
[5] => QueryList交流社区|基于phpQuery的无比强大的采集工具
[6] => 介绍- QueryList 3.0 指导文档
[7] => thinkphp5使用QueryList实现采集功能 - 坚持一点点 - 博客园
[8] => QueryList一个基于phpQuery的无比强大的采集工具 - ThinkPHP框架
[9] => php使用QueryList轻松采集JavaScript动态渲染页面 - QueryList - ...
)
Array
(
[0] => http://www.baidu.com/link?url=CNKBNz0t9t6YLmIfXjKYnIkcQ-JzNOpAyiAHPDSnlkmrEqMq5q9o44ElplTf7nON
[1] => http://www.baidu.com/link?url=VKDqdL3WXxuy0xV3uHMDXRrqQlWGhh4qMQ5h4UCBw0sRJvE9uLlMbr5fE_gsURX8oehsAyzi9_QxVuC1CBjoTa
[2] => http://www.baidu.com/link?url=rjDcaEbicrZjIG-iFJdkHJTWxoxYA2EBatxh-EyvMDdPMPxtOi8nDUi7UiuIgmW9X7o6CvcFUqPqCrqJp7M4FmRKpJ52-ceBowE0ek_jb5O
[3] => http://www.baidu.com/link?url=9FAlKAB_4xCVP1hv_RlpPN8ROxsTSTDHpnvvxYn4j_veTkhxHfaPHUFAtc8BctDmN9ZVigMS7ggaVy778zAMzK
[4] => http://www.baidu.com/link?url=CFOkrOHOFsWPddZC1fuRv8ZqwhbF7P6vH1Pg1covRawG6wsmszFW1qnxHf7mWKPM
[5] => http://www.baidu.com/link?url=7kCwV_WRMZjWAeyOWP3zfX4Jx21tPeZhmyuENciN86BBd_g8znMD3JgEEfvGRbNc
[6] => http://www.baidu.com/link?url=p3JenyGg7qtP7lSKXkbLM8_eGTzxzjJGch7__-8fmuIsZOdEQbCquS6P_NdR4LoG
[7] => http://www.baidu.com/link?url=_EJBv9sxVtGT1paHERifcDHEaG8twDHk-Av2JD5DlkJUvipLAdNqovTdXAxijcI3LTaC3F_jYuMkHuTOJ0ic7_
[8] => http://www.baidu.com/link?url=ad9pwRrrkyTVOB7ZMKN29XyLX1MsXRIFPbA0ldPLTQQ58Dnw_YpZFKJZwxZ-jfaL
[9] => http://www.baidu.com/link?url=mEjYM95SeHFYCnfITubUoTOj7XWR1NparEcb3hCGqPGv_uChSvVFat6xcvyCz_9mLogw5ol5gU_isHqYRTJj2q
)