我正在抓取Amazon评论,并且它们为我要抓取的每个评论提供了唯一的标识符。但是,标识符永远不会显示为文本,而是以以下形式存在:
<div id="R2XLFP626GRWEM" data-hook="review" class="a-section review aok-relative">
我希望返回“ R2XLFP626GRWEM”。
使用
response.xpath('.//div[@data-hook="review"]').extract()
考虑到整个评论都嵌入在其中,我得到了div标签的全部内容。
我需要的内容
答案 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()