版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_40313634/article/details/103099902
<html>
<li class="name">zuoy</li>
<li class="age">21</li>
<li id="name">zhangsan</li>
<li id="age">18</li>
</html>
# 按照属性值,提取姓名
doc = pq(html)
doc('.class').text() ## zuoy
doc('#name').text() ## zhangsan
# 或者这样写也行
doc('[class="name"]').text() ## zuoy
doc('[id="name"]').text() ## zhangsan
<html>
<li class="name">zuoy</li>
<li id="name">zhangsan</li>
</html>
doc = pq(html)
# 提取有 class 属性的节点
doc('li[class]').text() ## zuoy
# 提取没有 class 属性的节点
doc('li:not([class])').text() # zhangsan
<html>
<li class="first name">zuo</li>
<li class="name last">y</li>
</html>
doc = pq(html)
# 首端匹配
doc('li[class^="first"]').text() ## zuo
# 末端匹配
doc('li[class$="last"]').text() ## y
# 包含
doc('li[class*="name"]').text() ## zuo y
<html>
<li class="text">张三中奖了</li>
<li class="text">李四结婚了</li>
</html>
doc = pq(html)
doc('li:contains("张三")').text() # 张三中奖了
<html>
<li class="text" name="张" id="三"> 张三中奖了</li>
<li class="text" name="李" id="四"> 李三结婚了</li>
<li id="三"> 张三要饭了</li>
</html>
doc = pq(html)
# 与运算
doc('li[class][name="张"]').text() # 张三中奖了
# 或运算
doc('[class][name="张"], [class][id="三"]').text() # 张三中奖了
# 非运算
doc('li:not([class])').text() # 张三要饭了
<html>
<li1 class="text"> 张三中奖了</li>
<li2 text="李四结婚了"></li>
</html>
doc = pq(html)
# 提取节点值
doc('li1').text() ## 张三中奖了
# 提取属性值
doc('li2').attr.text ## 李四结婚了