2014-02-11 2 views
2

Будь то с PHP, Javascript или с помощью API рекламы Amazon, мне все равно ... Я могу использовать их все. Я уже огляделся и нашел здесь несколько других вопросов, которые совпадают, но у них нет рабочих ответов, которые я вижу.Получите ASIN от вставленного URL-адреса Amazon

Кому-нибудь это удалось? Лучший случай, Amazon добавила функцию в свой API, где вы можете передать им URL-адрес, и они возвращают ASIN и другую информацию о продукте для этой страницы.

+0

Просто из интереса - что означает «от вставленного URL-адреса Amazon»? Кто-то вставляет URL-адрес в текстовое поле? – Trent

+0

Да. На моей странице есть текстовое поле, в которое кто-то может вставить URL-адрес. –

+0

На что это похоже? Неужели вы можете получить с ним регулярное выражение? – Trent

ответ

0

Задача состоит в том, что URL-адреса Amazon не имеют единого формата, существуют различные виды, в зависимости от типа используемого идентификатора и вида продукта.

Идентификатор или ключ могут быть ASIN или другими видами идентификаторов продуктов, например.

Действительные значения: SKU | UPC | EAN | ISBN (только для США, когда поисковым индексом является «Книги»). UPC недействительна в локали CA. (через http://docs.aws.amazon.com/AWSECommerceService/latest/DG/ItemLookup.html)

Amazon URL, часто (но не всегда) вида http://www.amazon.com/(title продукта)/дп/(идентификатор)/(более случайных символов не имеет значения здесь).

В дополнение к/dp /, вы также можете увидеть/продукт /,/ASIN /,/e /.

Лучше всего использовать регулярное выражение для извлечения (идентификатора), а затем вызвать API поиска элементов Amazon со всеми различными типами в виде IdType, передав идентификатор как ItemID и посмотреть, что соответствует.

Без дополнительной информации или конкретного варианта использования невозможно узнать, имеет ли URL-адрес ASIN, ISBN, SKU или какой-либо другой идентификатор, поэтому вам придется запрашивать их у всех, посмотреть, какие совпадения и извлечь 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 могли быть разными.

0

Также - Amazon поощряет использование укороченных постоянных ссылок в виде: http://amzn.to/xxxxxxx

Эти простые HTTP 301 редиректы, что вы должны следовать, чтобы получить полную ссылку, содержащую ASIN.

Смежные вопросы