无论是使用PHP,Javascript还是使用亚马逊产品广告API,我都不在乎......我可以全部使用它们。我已经环顾四周,发现其他几个问题是相同的,但他们没有我能看到的工作答案。
有人管理过吗?最好的情况是,亚马逊在其API中添加了一个功能,您可以在其中传递一个URL,然后返回该页面的ASIN和其他产品信息。
答案 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的完整链接。