W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
有幾種方法可以獲得屬性的值。首先,可以使用XPath語法:
>>> response.xpath("http://a/@href").getall()
['image1.html', 'image2.html', 'image3.html', 'image4.html', 'image5.html']
xpath語法有幾個(gè)優(yōu)點(diǎn):它是標(biāo)準(zhǔn)的xpath特性,并且 @attributes 可用于xpath表達(dá)式的其他部分-例如,可以按屬性值篩選。
scrapy還提供了對css選擇器的擴(kuò)展 (::attr(...) )它允許獲取屬性值:
>>> response.css('a::attr(href)').getall()
['image1.html', 'image2.html', 'image3.html', 'image4.html', 'image5.html']
除此之外,還有 .attrib 選擇器的屬性。如果您喜歡在Python代碼中查找屬性,而不使用xpath或CSS擴(kuò)展,則可以使用它:
>>> [a.attrib['href'] for a in response.css('a')]
['image1.html', 'image2.html', 'image3.html', 'image4.html', 'image5.html']
此屬性在SelectorList上也可用;它返回一個(gè)字典,其中包含第一個(gè)匹配元素的屬性。當(dāng)選擇器預(yù)期給出單個(gè)結(jié)果時(shí)(例如,當(dāng)按元素ID選擇時(shí),或在頁面上選擇唯一元素時(shí)),使用它非常方便:
>>> response.css('base').attrib
{'href': 'http://example.com/'}
>>> response.css('base').attrib['href']
'http://example.com/'
.attrib 空SelectorList的屬性為空:
>>> response.css('foo').attrib
{}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: