- 如下, 根据属性值,提取节点
<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()
doc('#name').text()
doc('[class="name"]').text()
doc('[id="name"]').text()
- 如下, 提取没有此属性、和又此属性的节点
<html>
<li class="name">zuoy</li>
<li id="name">zhangsan</li>
</html>
doc = pq(html)
doc('li[class]').text()
doc('li:not([class])').text()
- 模糊匹配
<html>
<li class="first name">zuo</li>
<li class="name last">y</li>
</html>
doc = pq(html)
doc('li[class^="first"]').text()
doc('li[class$="last"]').text()
doc('li[class*="name"]').text()
- 根据内容关键字,匹配节点
<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