簡體   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