从粘贴的亚马逊网址获取ASIN

时间:2014-02-11 11:27:38

标签: php api amazon

无论是使用PHP,Javascript还是使用亚马逊产品广告API,我都不在乎......我可以全部使用它们。我已经环顾四周,发现其他几个问题是相同的,但他们没有我能看到的工作答案。

有人管理过吗?最好的情况是,亚马逊在其API中添加了一个功能,您可以在其中传递一个URL,然后返回该页面的ASIN和其他产品信息。

3 个答案:

答案 0 :(得分:3)

我在我的基于php的网站上使用以下正则表达式来加入我的钱链接,它可能不完美,但效果很好:

/(?:dp|o|gp|-)\/(B[0-9]{2}[0-9A-Z]{7}|[0-9]{9}(?:X|[0-9]))/

基本上,它会在以下之一之后查找类似ASIN或ISBN的字符串:" dp /"," o /"," gp /& #34;,或" - /"避免误报。 " - /"可以与年龄较大的" obidos"格式化链接 - 即使亚马逊不再生成它们,它们仍然会解决。它只捕获ASIN / ISBN,因此$ matches [0]将始终包含正确的字符串(在php中)。未在非美国链接上测试过。我没有调查过,ASIN格式或网址格式可能不同。

答案 1 :(得分:0)

挑战在于,亚马逊网址不是单一格式,有各种类型,具体取决于所使用的标识符类型和产品类型。

标识符或密钥可以是ASIN或其他类型的产品标识符,例如

有效值:SKU | UPC | EAN | ISBN(仅限美国,当搜索索引为Books时)。 UPC在CA语言环境中无效。 (通过http://docs.aws.amazon.com/AWSECommerceService/latest/DG/ItemLookup.html

亚马逊网址通常(但不总是)表单 http://www.amazon.com/(title产品)/ dp /(标识符)/(此处不相关的更多随机字符)。

除了/ dp /之外,您还可以看到/ product /,/ ASIN /,/ e /.

最好的办法是使用正则表达式提取(标识符),然后使用所有各种类型作为IdType调用Amazon项查找API,将标识符作为ItemID传递,并查看匹配的内容。

如果没有更多详细信息或特定用例,则无法知道URL是否包含ASIN,ISBN,SKU或其他类型的标识符,因此您必须查询所有这些标识符,请参阅什么匹配,并从Item Lookup返回有效负载中提取ASIN。

答案 2 :(得分:0)

此外 - 亚马逊鼓励以下列形式使用缩短的永久链接:http://amzn.to/xxxxxxx

这些是简单的HTTP 301重定向,您必须遵循这些重定向才能获得包含ASIN的完整链接。