Подтвердить что ты не робот

API рекламы продукта Amazon: получите средний рейтинг клиентов

При использовании веб-службы Amazon для получения любой информации о продукте существует ли прямой способ получить средний рейтинг клиентов (1-5 звезд)? Вот параметры, которые я использую:

Service=AWSECommerceService
Version=2011-08-01
Operation=ItemSearch
SearchIndex=Books
Title=A Game of Thrones
ResponseGroup=Large

Я ожидаю, что он будет иметь рейтинг клиента 4,5 и общий обзор 2177. Но вместо этого я получаю следующее в ответе.

<CustomerReviews><IFrameURL>http://www.amazon.com/reviews/iframe?...</IFrameURL></CustomerReviews>

Есть ли способ получить общий рейтинг клиентов, кроме чтения значения <IFrameURL/>, сделав еще один HTTP-запрос для этой страницы отзывов, а затем на экране соскабливание HTML? Этот подход является хрупким, поскольку Amazon может легко изменить структуру страниц отзывов, которая нарушит мое приложение.

4b9b3361

Ответ 2

Насколько я знаю, Amazon изменил его API, так что больше невозможно получить информацию reviewrank. Если вы проверите эту ссылку, примечание sais:

По состоянию на 8 ноября 2010 года в запросе возвращается только URL-адрес iframe содержание.

Тем не менее, тестирование с параметрами, которые вы использовали для получения Iframe, кажется, что теперь даже Iframe dosn't больше не работает. Таким образом, даже в последнем Справочнике по API в главе "Мотивация клиентов для покупки" часть "отзывов" полностью отсутствует.

Тем не менее: Поскольку я также очень заинтересован, если его все еще возможно каким-то образом получить информацию reviewrank - возможно, даже не используя API amazon, но API-интерфейс конкурентов, чтобы получить информацию об обзоре рейтинга - я создам щедрость, если кто-нибудь сможет предоставить что-то полезное в этом. Bounty будет установлен в в этом разделе за два дня.

Ответ 3

Вы можете захватить URL-адрес обзора iframe, а затем использовать css для его позиционирования, чтобы показать только рейтинг звезд. Это не идеально, поскольку вы не получаете сырые данные, но это простой способ добавить рейтинг на свою страницу.

Пример этого в действии - http://spamtech.co.uk/positioning-content-inside-an-iframe/

Ответ 4

Вот VBS script, который соскоблил бы рейтинг. Вставьте код ниже в текстовый файл, переименуйте его в Test.vbs и дважды щелкните для запуска в Windows.

sAsin = InputBox("What is your ASIN?", "Amazon Standard Identification Number (ASIN)", "B000P0ZSHK")
if sAsin <> "" Then
  sHtml = SendData("http://www.amazon.com/gp/customer-reviews/widgets/average-customer-review/popover/ref=dpx_acr_pop_?contextId=dpx&asin=" & sAsin)
  sRating = ExtractHtml(sHtml, "<span class=""a-size-base a-color-secondary"">(.*?)<\/span>")
  sReviews = ExtractHtml(sHtml, "<a class=""a-size-small a-link-emphasis"".*?>.*?See all(.*?)<\/a>")
  MsgBox sRating & vbCrLf & sReviews
End If

Function ExtractHtml(sHtml,sPattern)
  Set oRegExp = New RegExp
  oRegExp.Pattern    = sPattern
  oRegExp.IgnoreCase = True
  Set oMatch = oRegExp.Execute(sHtml)
  If oMatch.Count = 1 Then
      ExtractHtml = Trim(oMatch.Item(0).SubMatches(0))
  End If
End Function

Function SendData(sUrl)
  Dim oHttp 'As XMLHTTP30
  Set oHttp = CreateObject("Msxml2.XMLHTTP")
  oHttp.open "GET", sUrl, False
  oHttp.send
  SendData = Replace(oHttp.responseText,vbLf,"")
End Function

Ответ 5

Amazon полностью удалил поддержку для доступа к информации о рейтинге/обзоре из своего API. В документах упоминается элемент Response в виде рейтинга клиентов, но это тоже не работает.

Покупки Google с помощью Viewpoints для некоторых обзоров и другие источники

Ответ 6

Это невозможно из PAPI. Вам нужно либо поцарапать его самостоятельно, либо использовать для этого другие бесплатные/более дешевые сторонние альтернативы.

Для этого мы используем API - интерфейс amazon-price от RapidAPI, он поддерживает выборку цены/рейтинга/количества отзывов для 1000 продуктов в одном запросе.