我在此网站NTP
中获得了此代码 <h5>Soundbooster</h5> <br><br>
<p class="details">
<b>Filtro attuale</b>
</p>
<blockquote>
<p>
<b>Catalogo:</b>
Aliant</br>
<b>Marca e Modello:</b>
Mazda - 3 </br>
<b>Versione:</b>
(3th gen) 2013-now (Petrol)
</p>
</blockquote>
我正在尝试提取元素“Mazda - 3”而我无法得到它,它返回空白。 在代码中,“马自达-3”部分具有品牌价值。我得到了名称和版本值。
这是我实施的方式:
for ntp in response.css('div.content-1col-nobox'):
name = ntp.xpath('normalize-space(//h5/text())').extract_first()
brand = ntp.xpath('normalize-space(//blockquote/p//text()[4])').extract_first()
version = ntp.xpath('normalize-space(//div/blockquote[1]/p//text()[6])').extract_first()
result = ("{} {} - {}".format(name, brand, version))
这篇文章与这篇文章有关,它在那里工作,但我意识到我只获得了部分数据。见这里:Scrapy add.xpath or join xpath
请有人帮帮我。
提前谢谢。
答案 0 :(得分:0)
我不确定代码中的ntp
是什么,但这应该有效:
brand = ntp.xpath('.//b[.="Marca e Modello:"]/following-sibling::text()[1]').extract_first()