Google News contiene datos valiosos -- news articles, headlines, sources, publication dates, 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 News usando Python y la API de Scavio. Al final, tendras un script funcional de Python que obtiene datos de Google News 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 News
Envia una solicitud POST al endpoint de la API de Scavio para Google News con tu consulta. La API devuelve JSON estructurado con news articles, headlines, sources, 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": "nws"},
)
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 News:
{
"search_metadata": { "status": "success" },
"news_results": [
{
"position": 1,
"title": "EU Passes Comprehensive AI Regulation Act",
"source": "Reuters",
"date": "2 hours ago",
"snippet": "The European Union passed a landmark...",
"link": "https://reuters.com/technology/..."
}
]
}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 News e imprime los resultados:
"""
Scrape Google News search results using Scavio API.
Returns structured JSON with news articles, headlines, sources, and more.
"""
import requests
import json
API_KEY = "your_scavio_api_key"
def search_google_news(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": "nws"},
)
response.raise_for_status()
return response.json()
if __name__ == "__main__":
results = search_google_news("artificial intelligence regulation")
print(json.dumps(results, indent=2))Por que usar Scavio en vez de hacer scraping de Google News 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 News 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.