[英]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.