如何理解 QueryList 中的特殊函数 texts() 和 attrs()
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
虽然说这个querylist
和jquery
是有一定的联系的。但是也是有一些很特殊的方法的,比如:texts()
和attrs()
。这两个方法,和传统的jquery
方法,是不一样的。比传统意义上的写法,多一个s
字样,返回值也是个数组。
本文的测试环境:querylist
版本为4.0.3
。
Elements find($selector)
无论是texts()
还是attrs()
,都是配合find()
使用的。关于find()
方法,这个和jquery
中的用法几乎是一样的。返回值为QL\Dom\Elements
类型,具体用法查看Elements
类型文档。
用法demo
$ql = QueryList::get('http://www.baidu.com/s?wd=QueryList');
//获取所有h3标签下的a标签的文本
$data = $ql->find('h3>a')->texts();
print_r($data->all());
//获取页面中所有图片地址
$data = $ql->find('img')->attrs('src');
print_r($data->all());
运行结果
上述demo程序的运行结果如下:
all()方法会返回一个数组。
Array
(
[0] => QueryList|基于phpQuery的无比强大的PHP采集工具
[1] => QueryList|基于phpQuery的无比强大的PHP采集工具
[2] => 介绍- QueryList指导文档
[3] => QueryList一个基于phpQuery的无比强大的采集工具 - ThinkPHP框架
[4] => PHP 用QueryList抓取网页内容 - wb145230 - 博客园
[5] => thomasw/querylist ・ GitHub
[6] => thinkPHP3.2中使用QueryList采集演示 - ThinkPHP框架
[7] => JAE/QueryList - 码云
[8] => QueryList采集器2.0版本,附QueryList入门教程 - ThinkPHP框架
)
Array
(
[0] => //www.baidu.com/img/bd_logo1.png
[1] => //www.baidu.com/img/baidu_jgylogo3.gif
[2] =>
[3] =>
[4] =>
[5] =>
[6] =>
[7] => http://i9.baidu.com/it/u=2964320798,1238330152&fm=85&s=BF8A7A23632258B4A854E4DB0300E0B1
)
总结
在文章的最后,苏南大叔要强调的是:在querylist
的世界里面,并不是不存在text()
和attr()
。只不过这个带s
的函数,和大家的常规认识,可能更加有所差异。所以,才单独提出说明的。
多了一个字母s
,所以也要稍稍变通一下。先find()
,再texts()
或者attrs()
,最后使用all()
,套路就是这样的。
更多苏南大叔编写的querylist
原创经验文章,请点击:
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。