繁体   English   中英

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

[英]Get ASIN from pasted Amazon url

无论是使用PHP,Javascript还是使用Amazon Product Advertising API,我都不在乎...我可以全部使用它们。 我已经环顾四周,在这里发现了其他几个相同的问题,但是它们没有我能看到的有效答案。

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

我在基于php的网站上使用以下正则表达式来关联我的资金链接,这可能并不完美,但效果很好:

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

本质上,它在以下之一之后寻找类似于ASIN或ISBN的字符串:“ dp /”,“ o /”,“ gp /”或“-/”,以避免误报。 较旧的“ obidos”格式链接可以使用“-/”-它们仍然可以解析,即使Amazon不再生成它们。 它仅捕获ASIN / ISBN,因此$ matches [0]将始终包含正确的字符串(在php中)。 未经美国以外的链接测试。 我没有研究过,ASIN格式或url模式可能不同。

挑战在于,Amazon URL并非单一格式,而是多种类型,具体取决于所使用的标识符类型和产品类型。

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

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

Amazon URL通常(但并非总是)采用http://www.amazon.com/ (产品标题)/ dp /(标识符)/(此处不相关的更多随机字符)形式。

除了/ dp /,您还可能会看到/ product /,/ ASIN /,/ e /。

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

没有更多详细信息或特定用例,就不可能知道该URL是否具有ASIN,ISBN,SKU或其他某种标识符,因此您必须查询所有这些标识符,查看匹配的内容,并从“项目查找”返回有效载荷中提取ASIN。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM