Я пытаюсь получить информацию о книгах из Amazon и передать эту информацию. к моему собственному веб-приложению. Проблема в том, что она вернула только 10 результатов. Как я могу получить результаты после первых 10?Поиск Amazon возвращает только 10 предметов
ответ
Я предполагаю, что вы используете операцию ItemSearch из рекламного API рекламы Amazon.
Ваш запрос должен выглядеть следующим образом:
http://ecs.amazonaws.com/onca/xml?
Service=AWSECommerceService&
AWSAccessKeyId=[AWS Access Key ID]&
Operation=ItemSearch&
Keywords=Edward%20Tufte&
SearchIndex=Books
&Timestamp=[YYYY-MM-DDThh:mm:ssZ]
&Signature=[Request Signature]
Это должно вернуть ответ, который выглядит как:
<TotalResults>132</TotalResults>
<TotalPages>14</TotalPages>
<Item>
<ASIN>...</ASIN>
<DetailPageURL>...</DetailPageURL>
<ItemAttributes>...</ItemAttributes>
</Item>
<Item>
<ASIN>...</ASIN>
<DetailPageURL>...</DetailPageURL>
<ItemAttributes>...</ItemAttributes>
</Item>
<Item>
<ASIN>...</ASIN>
<DetailPageURL>...</DetailPageURL>
<ItemAttributes>...</ItemAttributes>
</Item>
...
ItemSearch результаты постраничные; вышеуказанный запрос возвращает пункты 1-10 (соответствует странице 1). Чтобы получить дополнительные результаты, вам нужно запросить другую страницу результатов. С помощью операции Amazon ItemSearch вы делаете это, указав параметр itemPage.
Вот Судо код, который будет получать все книги или о «Эдвард Тафт» доступен на Amazon (до 400 страниц результатов):
keywords="Edward Tufte"
# itemSearch will create the Amazon Product Advertising request
response=itemSearch(Keywords=keywords, SearchIndex="Books")
# Do whatever you want with the response for the first page
...
# getTotalPagesFromResponse will parse the XML response and return the totalPages
# (14 in the above example).
totalPages = getTotalPagesFromResponse(response)
If totalPages > 1
# Note that you cannot go beyond 400 pages (see [1])
# Or you can limit yourself to a smaller number of pages
totalPages=min(400,totalPages)
page=2
while page < totalPages
response=itemSearch(Keywords=keywords, SearchIndex="Books", ItemPage=page)
# Do whatever you want with the response
...
page=page+1
Ссылка: [1] ItemSearch Amazon продукта Документация (доступна по адресу http://docs.amazonwebservices.com/AWSECommerceService/2010-11-01/DG/ItemSearch.html)
max itemPage on API version 2011-08-01 (текущий) установлен в 10 http://docs.aws. amazon.com/AWSECommerceService/latest/DG/PagingThroughResults.html – AlessMascherpa
сделал yo найти решение, я получаю только 10 элементов –