scrapy 2.3 按類查詢使用CSS

2021-06-03 14:09 更新

因為一個元素可以包含多個CSS類,所以按類選擇元素的xpath方法相當冗長:

*[contains(concat(' ', normalize-space(@class), ' '), ' someclass ')]

如果你使用 @class='someclass' 如果只使用 contains(@class, 'someclass') 為了彌補這一點,如果元素具有共享字符串的不同類名,那么最終可能會得到更多想要的元素。 someclass .

事實證明,剪貼選擇器允許您鏈接選擇器,因此大多數(shù)時候,您都可以使用CSS按類選擇,然后在需要時切換到XPath:

>>> from scrapy import Selector
>>> sel = Selector(text='<div class="hero shout"><time datetime="2014-07-23 19:00">Special date</time></div>')
>>> sel.css('.shout').xpath('./time/@datetime').getall()
['2014-07-23 19:00']

這比使用上面顯示的詳細的xpath技巧要干凈。只要記住使用 . 在后面的xpath表達式中。

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號