2014-02-11 4 views
2

PHP, Javascript 또는 Amazon Product Advertising API 중 어떤 것이 든 상관 없지만 ... 나는 모두 사용할 수 있습니다. 나는 이미 둘러 보았고 여기에 몇 가지 다른 질문이 있다는 것을 발견했지만, 나는 그들이 볼 수있는 답변을 가지고 있지 않습니다.붙여 넣은 Amazon URL에서 ASIN 가져 오기

아무도 관리하지 않았습니까? 가장 좋은 경우 Amazon은 API에 함수를 추가하여 URL을 전달할 수 있고 페이지의 ASIN 및 기타 제품 정보를 반환 할 수 있습니다.

+0

관심없는 사람들 - "붙여 넣은 아마존 url"의 의미는 무엇입니까? 텍스트 상자에 URL을 붙여 넣는 누군가? – Trent

+0

예. 내 페이지에 누군가가 URL을 붙여 넣을 수있는 텍스트 상자가 있습니다. –

+0

어떻게 생겼습니까? 확실히 정규식으로 그걸 얻을 수 있습니까? – Trent

답변

0

아마존 URL은 단일 형식이 아니며, 사용 된 식별자의 종류와 제품의 종류에 따라 다양한 종류가 있습니다.

식별자 또는 키는 ASIN 또는 다른 종류의 제품 식별자 일 수 있습니다.

유효 값 : SKU | UPC | EAN | ISBN (검색 색인이 도서 인 경우에만 미국) UPC가 CA 로켈에서 유효하지 않습니다. (http://docs.aws.amazon.com/AWSECommerceService/latest/DG/ItemLookup.html를 통해)

아마존 URL은 양식 제품의 http://www.amazon.com/(title)/DP/(식별자)/(자세한 임의의 문자 관련이없는 여기)의 (항상 아니지만) 종종 있습니다.

/dp/외에/product /,/ASIN /,/e /가 표시 될 수도 있습니다.

정규 표현식을 사용하여 (식별자)를 추출한 다음 아마테 항목 조회 API를 호출하고 모든 다양한 유형을 IdType으로 사용하여 ID를 ItemID로 전달하고 일치하는 항목을 확인하는 것이 가장 좋습니다.

자세한 내용이나 특정 사용 사례가 없으면 URL에 ASIN, ISBN, SKU 또는 다른 종류의 식별자가 있는지 여부를 알 수 없으므로 모든 URL에 대해 쿼리해야합니다. 일치하는 것을보고 항목 조회 return payload에서 ASIN을 추출합니다.

3

내가 완벽하지 않을 수도 있습니다, 제휴에 내 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 패턴은 다를 수있다. 이들은 당신이 ASIN를 포함하는 전체 링크를 얻기 위해 수행해야 할 것이다 간단한 HTTP 301 리디렉션은 http://amzn.to/xxxxxxx

: -

0

또한 아마존의 형태로 단축 영구 링크의 사용을 권장합니다.