【问题标题】:How to extract the value of an HTML attribute using scrapy response.xpath?如何使用 scrapy response.xpath 提取 HTML 属性的值?
【发布时间】:2019-04-12 14:15:59
【问题描述】:

我正在尝试在<div> 标记中提取属性data-asin-price 的值

在下面的示例中,您可以看到 22.63

<div id="cerberus-data-metrics" style="display: none;" data-asin="B079GMRZ8S" data-asin-price="22.63" data-asin-shipping="0.0" data-asin-currency-code="AUD" data-substitute-count="-1" data-device-type="WEB" data-display-code="Asin is not eligible because it is not enabled"></div>

有没有办法使用带有scrapy的response.xpath()来做到这一点?

谢谢

【问题讨论】:

标签: shell xpath scrapy


【解决方案1】:

我只是想发布我找到的答案。

为了在 scrapy shell 中获取 data-asin-price 属性的 22.63 值,我执行了以下操作:

response.xpath('//div[@id = "cerberus-data-metrics"]/@data-asin-price').extract_first()

干杯

【讨论】:

  • 很好地回答了你自己的问题。为清楚起见,我编辑了您的问题和答案。您实际上是在尝试提取属性的值,而不是元素。 HTML/XML 元素是标签和其中的所有内容。这些属性是诸如styleidhref 之类的东西,它们的值出现在标签的开头部分。了解这一点将有助于您在未来找到答案。
  • @pwinz 感谢您的编辑和澄清。将来肯定会对我有所帮助。问候
猜你喜欢
  • 2018-11-16
  • 2021-12-28
  • 2018-12-05
  • 1970-01-01
  • 1970-01-01
  • 2012-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-03
相关资源
最近更新 更多