【问题标题】:how to get sales rank from Amazon ItemSearch/ItemLookup如何从 Amazon ItemSearch/ItemLookup 获得销售排名
【发布时间】:2011-08-15 00:57:25
【问题描述】:

我正在尝试从亚马逊产品广告 API 中获取销售排名。我正在使用amazon_product gem。

request = AmazonProduct["us"]

request.configure do |c|
  c.key    = AMAZON_KEY
  c.secret = AMAZON_SECRET
  c.tag    = TAG
end

#itemlookup
response = request.find('B003XU6H8I', :response_group => 'SalesRank')
response.find('Item').first
=> {"ASIN"=>"B003XU6H8I"}

为什么 API 没有返回此商品的销售排名?此外,我尝试通过项目搜索获取 SalesRank 响应组,但没有返回。这是 API 的问题吗?

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 api amazon


    【解决方案1】:

    我会用 Nokogiri 刮掉这个。

    例如在irb中输入以下内容即可查看:

    require 'nokogiri'
    require 'open-uri'
    website = 'http://www.amazon.com/dp/B000YYODLO'
    doc = Nokogiri::HTML(open(website))
    puts doc.css('#SalesRank').text[/\#.*\)/]
    

    当然,您需要将 B000YYODLO 更改为您正在抓取的任何 ASIN。除非您正在寻找咖啡机的销售排名,在这种情况下,我一次回答了两个问题。

    此外,CSS 选择器#SalesRank 拉出整行,您可以像我一样使用正则表达式来解析出您需要的任何内容。

    另外,由于我不熟悉您使用的 api,您可能需要查看它是否使用 css 选择器,因为您可能只需将 SalesRank 更改为 #SalesRank。

    我希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      销售排名很可能不可用。我在亚马逊做过几件事,当他们没有我要找的东西时,我通常会刮掉它。

      即- 在代码中,浏览到您想要的特定产品并从亚马逊抓取信息。浏览到 http://www.amazon.com/dp/[ASIN],在产品详细信息下,您可以解析出排名。在代码中,将 [ASIN] 替换为您需要的产品列表中的其他内容。

      我使用过 selenium 和 watir 或 watin 等库来轻松抓取我需要的特定信息。

      【讨论】:

        猜你喜欢
        • 2022-10-04
        • 2018-01-08
        • 2023-03-25
        • 1970-01-01
        • 2020-07-13
        • 2015-10-07
        • 1970-01-01
        • 1970-01-01
        • 2018-12-06
        相关资源
        最近更新 更多