【问题标题】:How to get product information from amazon, just based on the URL?如何仅基于 URL 从亚马逊获取产品信息?
【发布时间】:2009-05-23 17:34:47
【问题描述】:

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

【问题讨论】:

  • 你最后是怎么解决这个问题的?你用过正则表达式吗? url页面抓取?
  • 是的,你有没有想过比解析 ItemID 更好的方法?

标签: ruby-on-rails ruby amazon


【解决方案1】:

这是亚马逊为他们的 oembed 披露的受支持的 URL 列表,产品广告 API 只有在解析这些 URL 并获取 ASIN 后才会出现

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

http://亚马逊。//dp/

http://亚马逊。/dp/*

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

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

http://amazon.//ASIN/

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

http://亚马逊。/gp/aw/d/*

http://www.amzn.com/*

http://amzn.com/*

【讨论】:

    【解决方案2】:

    我找到了这个库(我正在使用 Rails) 亚马逊-ecs 我正在试验它。不过,我需要某种 ID(产品 ID?)来获取特定产品的详细信息。例如,考虑这个指向 kindle 的链接

    http://www.amazon.com/Kindle-Amazons-Wireless-Reading-Generation/dp/B00154JDAI/ref=amb_link_84372271_1?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-1&pf_rd_r=06JJGQP9J3BHKPE38SXP&pf_rd_t=101&pf_rd_p=478184871&pf_rd_i=507846

    在那个链接中,我注意到了 ASIN,即 B00154JDAI。

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

    还有其他方法吗?

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

    【讨论】:

    • 您有什么理由想要另一种方法吗?亚马逊的 URL 相当统一,因此提取 ASIN 通常不成问题,而且 amazon-ecs 确实提供了一个非常简单的抽象。如果你有一些动机需要另一种方式..
    • 我随机查看了一些网址。发现他们有一个叫做 ASIN(亚马逊标准商品编号)的东西。它出现在 URL 中的某处,但并非始终以相同的格式出现。有时他们有/dp/ASIN,有时他们有/gp/ASIN,有时他们只有ASIN。可能还有其他组合,我不确定。如果我通过 URL,amazon-ecs 中是否有任何 API 可以获取我的 ASIN?
    • (回滚到原来的,因为编辑使帖子有点荒谬。“看看这个链接”,当链接更改为 SO 上的重定向器时,在该链接中引用 GET 变量是没有意义的根本不包含 GET 变量。)
    【解决方案3】:

    如果您想这样做,Nokogiri 或 hpricot 库都允许 HTML 解析和搜索。然而,这种屏幕抓取是出了名的不可靠(因为它可能会在亚马逊决定重新组织其 HTML 的任何时候破坏),所以如果你打算在任何时间做这种事情,我建议利用 @改为 987654323@。

    【讨论】:

      【解决方案4】:

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

      hpricot 似乎在做你想做的事。

      【讨论】:

      • 没有任何 API(来自亚马逊或其他)可以做同样的事情吗?
      【解决方案5】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-12
        • 1970-01-01
        • 2018-06-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多