Ruby on rails 如何仅基于URL从amazon获取产品信息?

Ruby on rails 如何仅基于URL从amazon获取产品信息?,ruby-on-rails,ruby,amazon,Ruby On Rails,Ruby,Amazon,我只是在亚马逊有一个产品页面的链接。我如何在ruby程序中使用此链接获取所有信息(照片、价格等)?在您的程序中:获取页面并解析HTML。过滤掉所需的信息。Ruby中可能有一些解析HTML的库(我不知道) 似乎可以执行您想要的操作。如果要执行此操作,或库都允许HTML解析和搜索。然而,这种屏幕抓取是出了名的不可靠(因为它可能会在亚马逊决定重新组织他们的HTML时中断),因此,如果你打算在任何时间内做这种事情,我建议改为利用。我找到了这个库(我使用的是Rails) 亚马逊云服务器 我正在用它做实验。

我只是在亚马逊有一个产品页面的链接。我如何在ruby程序中使用此链接获取所有信息(照片、价格等)?

在您的程序中:获取页面并解析HTML。过滤掉所需的信息。Ruby中可能有一些解析HTML的库(我不知道)


似乎可以执行您想要的操作。

如果要执行此操作,或库都允许HTML解析和搜索。然而,这种屏幕抓取是出了名的不可靠(因为它可能会在亚马逊决定重新组织他们的HTML时中断),因此,如果你打算在任何时间内做这种事情,我建议改为利用。

我找到了这个库(我使用的是Rails) 亚马逊云服务器 我正在用它做实验。尽管如此,我还是需要某种ID(产品ID?)来获取特定产品的详细信息。例如,考虑这个链接到Kindle L/P>

在那个链接中,我注意到了ASIN,它是B00154JDAI

看起来我可以使用这个ID来获取产品信息(使用amazon ecs)。我只需要解析URL,以获取ASIN

还有别的办法吗


不,我不会做屏幕抓取,这在任何时候都不是一个好主意。

你应该使用Ruby/AWS库(谷歌,我的业力不够高,不允许外部链接…)。它正是为此而写的


您可能需要使用内置搜索来查找您要查找的项目。之后,API允许访问图片、链接和所有可用信息。

以下是亚马逊为其oembed发布的受支持URL列表,产品广告API只有在解析这些URL并获得ASIN后才会出现

http://amazon./gp/product/*

http://amazon.//dp/

http://amazon./dp/*

http://amazon./o/ASIN/*

http://amazon./gp/offer-listing/*

http://amazon.//ASIN/

http://amazon./gp/product/images/*

http://amazon./gp/aw/d/*

*

*


难道没有任何API(来自amazon或其他)来做同样的事情吗?你有没有理由想用另一种方式来做?Amazon的URL相当统一,因此提取ASIN通常不成问题,Amazon ecs提供了一个非常简单的抽象。如果你有需要另一种方式的动机,我随机检查了一些URL。发现他们有一个叫做ASIN(亚马逊标准商品编号)的东西。它出现在URL中的某个位置,但不总是以相同的格式出现。有时有/dp/ASIN,有时有/gp/ASIN,有时只有ASIN。可能还有其他组合,我不确定。如果我传递URL,亚马逊ecs中是否有任何API可以为我获取ASIN?(回滚到原始版本,因为编辑使帖子变得毫无意义。“看看这个链接”,当链接更改为重定向器时,该链接中的get vars是没有意义的,因此根本不包含get vars。)你最终是如何解决这个问题的?你用正则表达式了吗?url页面抓取?是的,你有没有找到比解析ItemID更好的方法?