scrapy 2.3 節(jié)點(diǎn)之間的區(qū)別

2021-06-03 14:35 更新

//node[1] 選擇所有首先出現(xiàn)在各自父節(jié)點(diǎn)下的節(jié)點(diǎn)。

(//node)[1] 選擇文檔中的所有節(jié)點(diǎn),然后只獲取其中的第一個(gè)節(jié)點(diǎn)。

例子:

>>> from scrapy import Selector
>>> sel = Selector(text="""
....:     <ul class="list">
....:         <li>1</li>
....:         <li>2</li>
....:         <li>3</li>
....:     </ul>
....:     <ul class="list">
....:         <li>4</li>
....:         <li>5</li>
....:         <li>6</li>
....:     </ul>""")
>>> xp = lambda x: sel.xpath(x).getall()

這是最重要的 <li> 任何父元素下的元素:

>>> xp("http://li[1]")
['<li>1</li>', '<li>4</li>']

這是第一個(gè) <li> 整個(gè)文檔中的元素:

>>> xp("(//li)[1]")
['<li>1</li>']

這是最重要的 <li> 下的元素 <ul> 起源:

>>> xp("http://ul/li[1]")
['<li>1</li>', '<li>4</li>']

這是第一個(gè) <li> 元素在 <ul> 整個(gè)文檔中的父級(jí):

>>> xp("(//ul/li)[1]")
['<li>1</li>']


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)