Cod*_*bat 2 ruby api amazon ruby-on-rails ruby-on-rails-3
我正试图从亚马逊产品广告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"}
Run Code Online (Sandbox Code Playgroud)
为什么API不返回此商品的销售排名?此外,我尝试通过项目搜索获取SalesRank响应组,但不会返回它们.这是API的问题吗?
我只想和Nokogiri一起刮掉这个.
例如,在irb中输入以下内容以查看:
require 'nokogiri'
require 'open-uri'
website = 'http://www.amazon.com/dp/B000YYODLO'
doc = Nokogiri::HTML(open(website))
puts doc.css('#SalesRank').text[/\#.*\)/]
Run Code Online (Sandbox Code Playgroud)
当然,您需要将B000YYODLO更改为您正在搜索的任何ASIN.除非您正在寻找咖啡新闻的销售排名,否则我会立即回答两个问题.
此外,CSS选择器#SalesRank拉出整行,你可以像我一样使用正则表达式来解析你需要的任何东西.
另外,由于我不熟悉你正在使用的api,你可能想查看它是否使用css选择器,因为你可能只需要将SalesRank更改为#SalesRank.
我希望这有帮助.