Массовое преобразование списка названий книг в ASIN Amazon?

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

Спасибо.


person user249493    schedule 01.04.2010    source источник
comment
webwiz, вы когда-нибудь находили решение для программного получения ASIN книги, учитывая ее название?   -  person Joubert Nel    schedule 25.08.2010


Ответы (2)


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

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

Если вы ищете «Плохое начало» (автор Лемони Сникет), 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 возвращает версию в твердом переплете).
person user635090    schedule 22.04.2011

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

person coulminer    schedule 13.02.2013