amazon-web-services - services - aws login account
API de publicidad de productos de Amazon: obtenga la calificación promedio de los clientes (5)
Cuando se utiliza el servicio web de Amazon para obtener la información de algún producto, ¿hay alguna manera directa de obtener la calificación promedio de los clientes (de 1 a 5 estrellas)? Aquí están los parámetros que estoy usando:
Service=AWSECommerceService
Version=2011-08-01
Operation=ItemSearch
SearchIndex=Books
Title=A Game of Thrones
ResponseGroup=Large
Esperaría que tuviera una calificación de cliente de 4.5 y reseñas totales de 2177. Pero en cambio recibo lo siguiente en la respuesta.
<CustomerReviews><IFrameURL>http://www.amazon.com/reviews/iframe?...</IFrameURL></CustomerReviews>
¿Hay alguna manera de obtener la calificación general de los clientes, además de leer el valor <IFrameURL/>
, hacer otra solicitud HTTP para esa página de revisiones y luego raspar la pantalla del HTML? Ese enfoque es frágil, ya que Amazon podría cambiar fácilmente la estructura de la página de reseñas, lo que arruinaría mi aplicación.
Puede tomar la url de revisión iframe y luego usar css para colocarla de manera que solo se muestre la calificación de estrellas. No es ideal, ya que no obtiene datos brutos, pero es una manera fácil de agregar la calificación a su página.
Muestra de esto en acción - http://spamtech.co.uk/positioning-content-inside-an-iframe/
Amazon ha eliminado por completo el soporte para acceder a la información de calificación / revisión de su API. Los documentos mencionan un elemento de respuesta en forma de calificación de los clientes, pero eso tampoco funciona.
Google Shopping utilizando los puntos de vista para algunas revisiones y otras fuentes
Puedes rascar desde aquí. Simplemente reemplace el asin con lo que necesita.
Aquí hay una secuencia de comandos VBS que rasparía la calificación. Pegue el siguiente código en un archivo de texto, cámbiele el nombre a Test.vbs y haga doble clic para ejecutarlo en 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
Por lo que sé, Amazon cambió su API por lo que ya no es posible obtener la información de reviewrank. Si revisas este enlace, la nota dice:
A partir del 8 de noviembre de 2010, solo se devuelve la URL iframe en el contenido de la solicitud.
Sin embargo, probando con los params que utilizó para obtener el Iframe, parece que ahora incluso el Iframe ya no funciona. Por lo tanto, incluso en la última referencia de API en el capítulo "Motivar a los clientes a comprar", la parte "reseñas" falta por completo.
Sin embargo: dado que también estoy muy interesado si todavía es posible de alguna manera obtener la información de reviewrank, tal vez incluso sin usar la API de Amazon, sino una API de la competencia para obtener información de rango de revisión, estableceré una recompensa si alguien puede proporcionar algo útil sobre ese. Bounty se establecerá en este tema en dos días.