Массовое преобразование списка названий книг в Amazon ASIN? - PullRequest
3 голосов
/ 01 апреля 2010

У меня есть список из нескольких сотен названий книг. Есть ли способ конвертировать их в ASIN-коды Amazon.com? Я понимаю, что могу сделать это вручную по очереди, но у меня нет такого терпения или времени. Я знаю, что есть некоторые конвертеры ISBN в ASIN, но у меня нет ISBN.

Спасибо.

Ответы [ 2 ]

1 голос
/ 23 апреля 2011

Я бы использовал API ItemSearch API рекламы продуктов Amazon (см. Документ: http://docs.amazonwebservices.com/AWSECommerceService/2010-11-01/DG/ItemSearch.html)

При формировании запроса вам нужно будет передать ряд параметров, таких как «Заголовок», «SearchIndex» (в вашем случае «Книги») и дополнительные обязательные параметры (обратите внимание, что вы можете попробовать добавить дополнительные параметры запроса, например как "Автор" или "Ключевые слова" для точной настройки вашего запроса).

Если вы ищете «The Bad Beginning» (от Lemony Snicket), URL запроса будет выглядеть так:

http://ecs.amazonaws.com/onca/xml?
Service=AWSECommerceService&
AWSAccessKeyId=[AWS Access Key ID]&
Operation=ItemSearch&
Title=The%20Bad%20Beginning&
SearchIndex=Books
&Timestamp=[YYYY-MM-DDThh:mm:ssZ]
&Signature=[Request Signature]

Ответ, который может содержать от 0 до n элементов, будет выглядеть следующим образом:

<TotalResults>111</TotalResults>
<TotalPages>12</TotalPages>
<Item>
  <ASIN>006029809X</ASIN>
  <DetailPageURL>http://www.amazon.com/dp/006029809X</DetailPageURL>
  <ItemAttributes>
    <ProductGroup>Books</ProductGroup>
    <Title>The Trouble Begins: A Box of Unfortunate Events, Books 1-3 
    (The Bad Beginning; The Reptile Room; The Wide Window)</Title>
  </ItemAttributes>
</Item>
<Item>
  <ASIN>006075589X</ASIN>
  <DetailPageURL>http://www.amazon.com/dp/006075589X</DetailPageURL>
  <ItemAttributes>
    <ProductGroup>Books</ProductGroup>
    <Title>The Bad Beginning</Title>
  </ItemAttributes>
</Item>
...

Затем вы можете проанализировать XML, чтобы получить необходимую информацию (ASIN в вашем случае).

Несколько слов предупреждений:

  • Не ожидайте, что результаты будут на 100% правильными. Вам наверняка придется убирать результаты вручную.
  • Если вы получаете один или несколько предметов в вашем XML-ответ, первый результат может не та книга, которую вы ожидаете (см. ответ выше: первый пункт в ответе на самом деле соответствует бокс-сету, который включает в себя книгу, которую вы ищете для ...).
  • Вы можете попробовать выполнить постобработка для сравнения вашего заголовка с названием каждого возвращенного элемента с помощью API ItemSearch, но любой тривиальное сравнение (например, тестирование за одно и то же «точное название») дать большое количество ложных отрицательных из-за опечаток или несоответствий в База данных Amazon.
  • Даже в том случае, когда ваш титул идеально сочетается с одним из элементы в ответе, ASIN может соответствуют другой книге (то же самое название, другой автор), к другое издание (у вас есть 4-й издание учебника, но Amazon возвращается информация о 8-м издании) или к другому обязательному (у вас есть мягкая обложка, но Amazon возвращает версия в твердом переплете).
0 голосов
/ 13 февраля 2013

Это довольно старое, но все же, может быть, кому-то все еще интересно Существует пакет Perl который может сделать это для вас.

...