在div标签内抓取内容,该内容不会显示为文本

时间:2019-04-25 23:07:22

标签: html scrapy amazon

我正在抓取Amazon评论,并且它们为我要抓取的每个评论提供了唯一的标识符。但是,标识符永远不会显示为文本,而是以以下形式存在:

<div id="R2XLFP626GRWEM" data-hook="review" class="a-section review aok-relative">

我希望返回“ R2XLFP626GRWEM”。

使用

response.xpath('.//div[@data-hook="review"]').extract()

考虑到整个评论都嵌入在其中,我得到了div标签的全部内容。

Product I'm scraping

我需要的内容

content i need

2 个答案:

答案 0 :(得分:3)

您可以使用CSS选择器而不是如下所示的xpath来获取ID值。

response.css('.a-section .review::attr(id)').extract()

或使用xpath

response.xpath('//*[@class="a-section review aok-relative"]/@id').extract()

或通过修改原始xpath查询

response.xpath('.//div[@data-hook="review"]/@id').extract()

答案 1 :(得分:0)

要使用xpath收集属性数据,请使用@。您可以详细了解here 例如,您的情况:

response.xpath(".//div[@class='a-section review aok-relative']/@id").extract()