scrapy 抓取div标签内的内容,该内容不显示为文本

093gszye  于 2023-03-02  发布在  其他
关注(0)|答案(2)|浏览(231)

我正在刮亚马逊评论,他们给了我想刮的每一篇评论一个唯一的标识符。但是,标识符从来不会显示为文本,而只是以下面的形式存在:

<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
我需要的内容:

6ss1mwsb

6ss1mwsb1#

您可以使用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()
cpjpxq1n

cpjpxq1n2#

要使用xpath收集属性数据,请使用@。您可以阅读有关here的详细信息。例如,在您的案例中:

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

相关问题