Ответ 1
Вы можете очиститься отсюда. Просто замените асин тем, что вам нужно.
При использовании веб-службы 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 может легко изменить структуру страниц отзывов, которая нарушит мое приложение.
Вы можете очиститься отсюда. Просто замените асин тем, что вам нужно.
Насколько я знаю, Amazon изменил его API, так что больше невозможно получить информацию reviewrank. Если вы проверите эту ссылку, примечание sais:
По состоянию на 8 ноября 2010 года в запросе возвращается только URL-адрес iframe содержание.
Тем не менее, тестирование с параметрами, которые вы использовали для получения Iframe, кажется, что теперь даже Iframe dosn't больше не работает. Таким образом, даже в последнем Справочнике по API в главе "Мотивация клиентов для покупки" часть "отзывов" полностью отсутствует.
Тем не менее: Поскольку я также очень заинтересован, если его все еще возможно каким-то образом получить информацию reviewrank - возможно, даже не используя API amazon, но API-интерфейс конкурентов, чтобы получить информацию об обзоре рейтинга - я создам щедрость, если кто-нибудь сможет предоставить что-то полезное в этом. Bounty будет установлен в в этом разделе за два дня.
Вы можете захватить URL-адрес обзора iframe, а затем использовать css для его позиционирования, чтобы показать только рейтинг звезд. Это не идеально, поскольку вы не получаете сырые данные, но это простой способ добавить рейтинг на свою страницу.
Пример этого в действии - http://spamtech.co.uk/positioning-content-inside-an-iframe/
Вот 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
Amazon полностью удалил поддержку для доступа к информации о рейтинге/обзоре из своего API. В документах упоминается элемент Response в виде рейтинга клиентов, но это тоже не работает.
Покупки Google с помощью Viewpoints для некоторых обзоров и другие источники
Это невозможно из PAPI. Вам нужно либо поцарапать его самостоятельно, либо использовать для этого другие бесплатные/более дешевые сторонние альтернативы.
Для этого мы используем API - интерфейс amazon-price от RapidAPI, он поддерживает выборку цены/рейтинга/количества отзывов для 1000 продуктов в одном запросе.