Я хотел бы использовать API Amazon рекламы продукта API ItemSearch (см документ: http://docs.amazonwebservices.com/AWSECommerceService/2010-11-01/DG/ItemSearch.html)
При формировании вашего запроса, вам нужно будет пройти ряд параметров, таких как «Заголовок», «SearchIndex» ("Книги «в вашем случае) и дополнительные обязательные параметры (обратите внимание, что вы можете попробовать добавить дополнительные параметры запроса, такие как« Автор »или« Ключевые слова », чтобы точно настроить ваш запрос).
Если вы ищете "The Bad Beginning" (по Лемони Сникет), запрос 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 до п элементов, будет выглядеть следующим образом:
<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 Database.
- Даже в том случае, когда ваш титул матчи совершенно с одним из элементов в ответ ASIN может соответствовать другой книге (тот же титула, разные автора), в другое издание (у вас есть 4 учебник по выпуску, но Amazon возвращает информацию о 8-м издании) или к другому переплету (у вас есть бумажная обложка , но Amazon возвращает версию в твердом переплете).
webwiz, вы когда-нибудь находили решение получить ASIN книги программно, учитывая его название? –