Scrapy - 无法在亚马逊上抓取评级数据

Scrapy - not able to scrape ratings data on Amazon

我正在尝试从亚马逊店面抓取评级数据。以下面的 link 为例 -

https://www.amazon.in/s?me=A2ABGQT3TTW1NZ&marketplaceID=A21TJRUUN4KGV

虽然我成功地抓取了名称、评分(满分 5 分)、价格等数据点,但我无法抓取评分数量。这存储在以下 -

844

def parse(self, response):
    for a in response.xpath("//div[@class='s-result-item s-asin sg-col-0-of-12 sg-col-16-of-20 sg-col s-widget-spacing-small sg-col-12-of-16']"):
        yield {
            'ASIN' : a.xpath("//@data-asin").get(),
            'Name' : a.xpath(".//span[@class='a-size-medium a-color-base a-text-normal']/text()").get(),
            'Rating' : a.xpath(".//span[@class='a-icon-alt']/text()").get(),
            'No. of Ratings' : a.xpath(".//span[@class='a-size-base']/text()").get(),
            'ASP' : a.xpath(".//span[@class='a-price-whole']/text()").get()
        }

收视率即将达到None

令人惊讶的是,直到几天前它都运行良好。请帮我解决这个问题。

谢谢!!!

更改此行:

'No. of Ratings' : a.xpath(".//span[@class='a-size-base']/text()").get(),

进入

'No. of Ratings' : a.xpath(".//span[contains(@class, 'a-size-base')]/text()").get()

因为该跨度的 class 是“a-size-base a-color-base s-underline-text”