我只有一个指向亚马逊产品页面的链接。如何仅使用此链接在我的 ruby 程序中获取所有信息(照片、价格等)?
5 回答
这是亚马逊为其 oembed 披露的受支持 URL 列表,产品广告 API 只有在解析这些 URL 并获取 ASIN 后才会出现
http://亚马逊。/gp/产品/*
http://亚马逊。/ /dp/
http://亚马逊。/dp/*
http://亚马逊。/o/ASIN/*
http://亚马逊。/gp/offer-listing/*
http://亚马逊。/ /ASIN/
http://亚马逊。/gp/产品/图像/*
http://亚马逊。/gp/aw/d/*
我发现这个库(我正在使用 Rails)amazon-ecs 我正在试验它。不过,我需要某种 ID(产品 ID?)来获取特定产品的详细信息。例如,考虑这个链接到 kindle
在那个链接中,我注意到了 ASIN,它是 B00154JDAI。
看起来我可以使用这个 ID 来获取产品信息(使用 amazon-ecs)。我只需要解析 URL,获取 ASIN。
还有其他方法吗?
不,我不会进行屏幕抓取,这在任何时候都不是一个好主意。
如果你想这样做,Nokogiri或hpricot库都允许 HTML 解析和搜索。然而,这种屏幕抓取是出了名的不可靠(因为它可能会在亚马逊决定重组其 HTML 的任何时候破坏),所以如果你打算在任何时间做这种事情,我建议利用亚马逊而是产品广告 API 。
在您的程序中:获取页面并解析 HTML。过滤掉所需的信息。Ruby 中可能有一些库(我不知道)可以解析 HTML。
hpricot似乎做你想做的事。
您应该使用库 Ruby/AWS(谷歌,我的业力不够高,无法允许外部链接......)。它正是为此而写的。
您可能需要使用内置搜索来查找您要查找的项目。之后,API 允许访问图片、链接和所有可用信息。