如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接信息。

虽然说这个querylistjquery是有一定的联系的。但是也是有一些很特殊的方法的,比如:texts()attrs()。这两个方法,和传统的jquery方法,是不一样的。比传统意义上的写法,多一个s字样,返回值也是个数组。

如何理解 QueryList 中的特殊函数 texts() 和 attrs() - querylist函数
如何理解 QueryList 中的特殊函数 texts() 和 attrs()(图1-1)

本文的测试环境: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原创经验文章,请点击:

 【querylist】秘籍文章入口,仅传授于有缘之人   querylist

本站的忠实读者小伙伴,正在阅读下面这些文章:

欢迎转载传播本篇原创文章,转载请保留链接及作者信息。
欢迎指正文字或逻辑错误,将会择优在文末列出您的信息。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

苏南大叔需要你的支持

感谢您的打赏,让我更有动力,将更多精彩教程文章,呈现给大家!谢谢!