Я бы использовал 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