
Adélia Cruz
Neural Network Developer
ScrapeGraph AI es una librería de web scraping en Python que aprovecha los LLM y la lógica basada en grafos para construir canalizaciones de scraping para sitios web y documentos locales (incluidos XML, HTML, JSON, Markdown y más). ¡Simplemente especifica los datos que deseas extraer y la librería se encargará del resto!
La librería proporciona varias características:
Antes de sumergirte en el uso de ScrapeGraph AI, asegúrate de tener instalado lo siguiente:
pip install scrapegraphai capsolver
playwright install
import json
from scrapegraphai.graphs import SmartScraperGraph
# Define la configuración para la canalización de raspado
graph_config = {
"llm": {
"api_key": "YOUR_OPENAI_APIKEY",
"model": "openai/gpt-4o-mini",
},
"verbose": True,
"headless": False,
}
# Crea la instancia SmartScraperGraph
smart_scraper_graph = SmartScraperGraph(
prompt="Enumérame todas las citas con su descripción",
source="https://quotes.toscrape.com/",
config=graph_config
)
# Ejecuta la canalización
result = smart_scraper_graph.run()
print(json.dumps(result, indent=4))
import json
from scrapegraphai.graphs import SmartScraperGraph
# Define la configuración para la canalización de raspado
graph_config = {
"llm": {
"model": "ollama/llama3.1",
"temperature": 0,
"format": "json", # Ollama necesita que se especifique explícitamente el formato
# "base_url": "http://localhost:11434", # establece la URL de ollama arbitrariamente
},
"verbose": True,
"headless": False
}
# Crea la instancia SmartScraperGraph
smart_scraper_graph = SmartScraperGraph(
prompt="Enumérame todas las citas con su descripción",
source="https://quotes.toscrape.com/",
config=graph_config
)
# Ejecuta la canalización
result = smart_scraper_graph.run()
print(json.dumps(result, indent=4))
En esta sección, exploraremos cómo integrar Capsolver con ScrapeGraph AI para eludir los captchas. Capsolver es un servicio externo que ayuda a resolver varios tipos de captchas, incluyendo ReCaptcha V2, que se utiliza comúnmente en los sitios web.
Demostraremos cómo resolver ReCaptcha V2 usando Capsolver y luego raspar el contenido de una página que requiere resolver el captcha primero.
Reclama tu Código de bonificación para las mejores soluciones de captcha; Capsolver: scrape. Después de canjearlo, obtendrás un bono adicional del 5% después de cada recarga, ilimitado

import capsolver
import os
import json
from scrapegraphai.graphs import SmartScraperGraph
# Considera usar variables de entorno para información sensible
PROXY = os.getenv("PROXY", "http://username:password@host:port")
capsolver.api_key = os.getenv("CAPSOLVER_API_KEY", "Tu clave de API de Capsolver")
PAGE_URL = os.getenv("PAGE_URL", "PAGE_URL")
PAGE_KEY = os.getenv("PAGE_SITE_KEY", "PAGE_SITE_KEY")
def solve_recaptcha_v2(url, key):
solution = capsolver.solve({
"type": "ReCaptchaV2Task",
"websiteURL": url,
"websiteKey": key,
"proxy": PROXY
})
return solution['solution']['gRecaptchaResponse']
def main():
print("Resolviendo reCaptcha v2")
solution = solve_recaptcha_v2(PAGE_URL, PAGE_KEY)
print("Solución: ", solution)
# Define la configuración para la canalización de raspado
graph_config = {
"llm": {
"api_key": "YOUR_OPENAI_APIKEY",
"model": "openai/gpt-4o-mini",
},
"verbose": True,
"headless": False,
}
# Crea la instancia SmartScraperGraph
smart_scraper_graph = SmartScraperGraph(
prompt="Encuentra la descripción de cada cita.",
source="https://quotes.toscrape.com/",
config=graph_config
)
# Ejecuta la canalización
result = smart_scraper_graph.run()
print(json.dumps(result, indent=4))
Con ScrapeGraph AI, puedes raspar sitios web de forma eficiente mientras gestionas las complejidades de los proxies y los captchas. Combinarlo con Capsolver te permite eludir los desafíos de ReCaptcha V2 sin problemas, lo que te permite acceder a contenido que de otra manera sería difícil de raspar.
No dudes en ampliar este script para adaptarlo a tus necesidades de raspado y experimentar con las funciones adicionales que ofrece ScrapeGraph AI. Asegúrate siempre de que tus actividades de raspado respetan los términos de servicio del sitio web y las directrices legales.
¡Feliz raspado!
Aprende a resolver desafíos de AWS WAF y CAPTCHAs sin navegador. Utiliza la API de CapSolver para generar tokens y evadir códigos de estado 405.

Configurar el raspado de web en Linux con Python, proxies y manejo de CAPTCHA. Una guía práctica para desarrolladores que cubre Scrapy, Playwright, CapSolver y tuberías de datos.

Aprende qué desencadena el error de Cloudflare 1020 Acceso denegado, cómo funciona el Firewall de Aplicaciones Web y la detección de bots, y cómo los desarrolladores pueden reducir los falsos positivos en flujos de trabajo de automatización legítimos.
