1. 程式人生 > >【Python3 爬蟲學習筆記】解析庫的使用 11 —— 使用pyquery 4

【Python3 爬蟲學習筆記】解析庫的使用 11 —— 使用pyquery 4

偽類選擇器

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