【Python3 爬蟲學習筆記】解析庫的使用 11 —— 使用pyquery 4
阿新 • • 發佈:2018-11-11
偽類選擇器
CSS選擇器之所以強大,還有一個很重要的原因,那就是它支援多種多樣的偽類選擇器,例如選擇第一個節點、最後一個節點、奇偶數節點、包含某一文字的節點等。示例如下:
html = '''
<div class="wrap">
<div id="container">
<ul class="list">
<li class="item-0">first item</li>
<li class="item-1"><a href="link2.html">second item</a></li>
<li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li>
<li class="item-1 active"><a href="link4.html">fourth item</a></li>
<li class="item-0"><a href="link5.html">fifth item</a></li>
</ul>
</div>
</div>
'''
from pyquery import PyQuery as pq
doc = pq(html)
li = doc('li:first-child')
print(li)
li = doc('li:last-child')
print(li)
li = doc('li:nth-child(2)')
print(li)
li = doc('li:gt(2)')
print(li)
li = doc('li:nth-child(2n)')
print(li)
li = doc('li:contains(second)')
print(li)
這裡我們使用了CSS3的偽類選擇器,依次選擇了第一個li節點、最後一個li節點、第二個li節點、第三個li節點之後的li節點、偶數位置的li節點、包含second文字的li節點。
執行結果如下:
<li class="item-0">first item</li>
<li class="item-0"><a href="link5.html">fifth item</a></li>
<li class="item-1"><a href="link2.html">second item</a></li>
<li class="item-1 actice"><a href="link4.html">fourth item</a></li>
<li class="item-0"><a href="link5.html">fifth item</a></li>
<li class="item-1"><a href="link2.html">second item</a></li>
<li class="item-1 actice"><a href="link4.html">fourth item</a></li>
<li class="item-1"><a href="link2.html">second item</a></li>
想要檢視更多的內容,可以參考pyquery的官方文件:http://pyquery.readthedocs.io 。