Google Reviews contiene datos valiosos -- review text, star rating, reviewer name, review date, y mas. Hacer scraping de estos datos directamente implica lidiar con deteccion anti-bot, CAPTCHAs, rotacion de IP y selectores que se rompen constantemente. La API de Scavio maneja todo eso y devuelve JSON limpio y estructurado desde una sola solicitud POST.
Este tutorial te muestra como hacer scraping de Google Reviews usando Python y la API de Scavio. Al final, tendras un script funcional de Python que obtiene datos de Google Reviews en tiempo real y parsea los resultados.
Requisitos previos
- Python instalado en tu maquina
- Una clave API de Scavio (free tier incluye 50 creditos al registrarte -- sin tarjeta de credito)
Paso 1: Instalar dependencias
Instala requests para hacer solicitudes HTTP:
pip install requestsPaso 2: Haz tu primera busqueda en Google Reviews
Envia una solicitud POST al endpoint de la API de Scavio para Google Reviews con tu consulta. La API devuelve JSON estructurado con review text, star rating, reviewer name, y mas.
import requests
API_KEY = "your_scavio_api_key"
response = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={
"x-api-key": API_KEY,
"Content-Type": "application/json",
},
json={"query": query, "tbs": ""},
)
data = response.json()
for result in data.get("organic_results", [])[:5]:
print(f"{result['position']}. {result['title']}")
print(f" {result['link']}\n")Paso 3: Respuesta de ejemplo
La API devuelve JSON estructurado. Aqui hay una respuesta de ejemplo para una busqueda en Google Reviews:
{
"search_metadata": { "status": "success" },
"place_results": {
"title": "Blue Bottle Coffee",
"rating": 4.5,
"reviews": 1820,
"user_reviews": [
{
"rating": 5,
"user": "Alex Chen",
"date": "2 weeks ago",
"snippet": "Best pour over in the Mission. Baristas always dial in a new single origin.",
"owner_response": "Thanks Alex! See you next visit."
}
]
}
}Cada campo esta estructurado y tipado -- sin parseo de HTML, sin selectores CSS, sin extraccion con regex. Tu codigo de Python puede acceder a cualquier campo directamente.
Paso 4: Ejemplo completo funcional
Aqui hay un script completo y ejecutable de Python que busca en Google Reviews e imprime los resultados:
"""
Scrape Google Reviews search results using Scavio API.
Returns structured JSON with review text, star rating, reviewer name, and more.
"""
import requests
import json
API_KEY = "your_scavio_api_key"
def search_google_reviews(query: str) -> dict:
response = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={
"x-api-key": API_KEY,
"Content-Type": "application/json",
},
json={"query": query, "tbs": ""},
)
response.raise_for_status()
return response.json()
if __name__ == "__main__":
results = search_google_reviews("Blue Bottle Coffee San Francisco reviews")
print(json.dumps(results, indent=2))Por que usar Scavio en vez de hacer scraping de Google Reviews directamente?
- Sin gestion de proxies. El scraping directo requiere rotar proxies para evitar bloqueos de IP. Scavio maneja todo esto del lado del servidor.
- Sin resolucion de CAPTCHAs. Google Reviews bloquea agresivamente las solicitudes automatizadas. Scavio devuelve datos limpios cada vez.
- Salida JSON estructurada. Sin parseo de HTML ni mantenimiento de selectores CSS. Obtiene datos tipados y consistentes en cada solicitud.
- Multiplataforma en una API. Busca en Google, Amazon, YouTube y Walmart con la misma clave API y el mismo patron de autenticacion.
- Plan gratuito incluido. 50 creditos al registrarte sin tarjeta de credito. Cada busqueda cuesta 1 credito.