🚀 ¿Buscas una forma aún más rápida y sencilla de hacer web scraping a gran escala (con solo 5 líneas de código)? ¡Consulta nuestra versión mejorada en ScrapeGraphAI.com! 🚀


🕷️ ScrapeGraphAI: Solo Haces Scraping Una Vez

English | 中文 | 日本語 | 한국어 | Русский | Türkçe | Deutsch | Español | français | Português

Downloads linting: pylint Pylint CodeQL License: MIT

VinciGit00%2FScrapegraph-ai | Trendshift

ScrapeGraphAI es una biblioteca de web scraping en Python que utiliza LLM y lógica de grafos directa para crear pipelines de extracción para sitios web y documentos locales (XML, HTML, JSON, Markdown, etc.).

¡Simplemente indica qué información deseas extraer y la biblioteca lo hará por ti!

ScrapeGraphAI Hero

🚀 Integraciones

ScrapeGraphAI ofrece integración perfecta con frameworks y herramientas populares para potenciar tus capacidades de scraping. Ya sea que estés desarrollando con Python o Node.js, utilizando frameworks LLM o trabajando con plataformas sin código, tenemos todo cubierto con nuestras opciones integrales de integración.

Puedes encontrar más información en el siguiente enlace

Integraciones:

Integraciones:

🚀 Instalación rápida

La página de referencia para Scrapegraph-ai está disponible en la página oficial de PyPI: pypi.

pip install scrapegraphai

# IMPORTANT (for fetching websites content)
playwright install

Nota: se recomienda instalar la biblioteca en un entorno virtual para evitar conflictos con otras bibliotecas 🐱

💻 Uso

Existen múltiples pipelines estándar de scraping que pueden utilizarse para extraer información de un sitio web (o archivo local).

El más común es SmartScraperGraph, que extrae información de una sola página dado un prompt de usuario y una URL de origen.

from scrapegraphai.graphs import SmartScraperGraph

# Define the configuration for the scraping pipeline
graph_config = {
    "llm": {
        "model": "ollama/llama3.2",
        "model_tokens": 8192
    },
    "verbose": True,
    "headless": False,
}

# Create the SmartScraperGraph instance
smart_scraper_graph = SmartScraperGraph(
    prompt="Extract useful information from the webpage, including a description of what the company does, founders and social media links",
    source="https://scrapegraphai.com/",
    config=graph_config
)

# Run the pipeline
result = smart_scraper_graph.run()

import json
print(json.dumps(result, indent=4))

[!NOTA] Para modelos como OpenAI y otros, solo necesitas cambiar la configuración del LLM:

graph_config = {
   "llm": {
       "api_key": "TU_CLAVE_API_DE_OPENAI",
       "model": "openai/gpt-4o-mini",
   },
   "verbose": True,
   "headless": False,
}

La salida será un diccionario como el siguiente:

{
    "description": "ScrapeGraphAI transforms websites into clean, organized data for AI agents and data analytics. It offers an AI-powered API for effortless and cost-effective data extraction.",
    "founders": [
        {
            "name": "",
            "role": "Founder & Technical Lead",
            "linkedin": "https://www.linkedin.com/in/perinim/"
        },
        {
            "name": "Marco Vinciguerra",
            "role": "Founder & Software Engineer",
            "linkedin": "https://www.linkedin.com/in/marco-vinciguerra-7ba365242/"
        },
        {
            "name": "Lorenzo Padoan",
            "role": "Founder & Product Engineer",
            "linkedin": "https://www.linkedin.com/in/lorenzo-padoan-4521a2154/"
        }
    ],
    "social_media_links": {
        "linkedin": "https://www.linkedin.com/company/101881123",
        "twitter": "https://x.com/scrapegraphai",
        "github": "https://github.com/ScrapeGraphAI/Scrapegraph-ai"
    }
}

Existen otras canalizaciones (pipelines) que pueden utilizarse para extraer información de múltiples páginas, generar scripts en Python o incluso crear archivos de audio.

Nombre de la CanalizaciónDescripción
SmartScraperGraphRaspador de una sola página que solo requiere un prompt de usuario y una fuente de entrada.
SearchGraphRaspador multi-página que extrae información de los n primeros resultados de un motor de búsqueda.
SpeechGraphRaspador de una sola página que extrae información de un sitio web y genera un archivo de audio.
ScriptCreatorGraphRaspador de una sola página que extrae información de un sitio web y genera un script en Python.
SmartScraperMultiGraphRaspador multi-página que extrae información de múltiples páginas con un solo prompt y una lista de fuentes.
ScriptCreatorMultiGraphRaspador multi-página que genera un script en Python para extraer información de múltiples páginas y fuentes.

Para cada uno de estos grafos existe la versión multi, que permite realizar llamadas al LLM en paralelo.

Es posible utilizar diferentes LLM a través de APIs, como OpenAI, Groq, Azure y Gemini, o modelos locales usando Ollama.

Recuerda tener Ollama instalado y descargar los modelos usando el comando ollama pull, si deseas utilizar modelos locales.

📖 Documentación

Open In Colab

La documentación de ScrapeGraphAI se encuentra disponible aquí. También puedes consultar el sitio de Docusaurus aquí.

🤝 Contribuciones

¡No dudes en contribuir y únete a nuestro servidor de Discord para discutir mejoras y compartir tus sugerencias con nosotros!

Por favor, revisa las directrices de contribución.

My Skills My Skills My Skills

🔗 API y SDKs de ScrapeGraph

Si buscas una solución rápida para integrar ScrapeGraph en tu sistema, consulta nuestra potente API ¡aquí!

ScrapeGraph API Banner

Ofrecemos SDKs tanto en Python como en Node.js, facilitando la integración en tus proyectos. Échales un vistazo a continuación:

SDKLenguajeEnlace GitHub
Python SDKPythonscrapegraph-py
Node.js SDKNode.jsscrapegraph-js

La documentación oficial de la API está disponible aquí.

📈 Telemetría

Recopilamos métricas de uso anónimas para mejorar la calidad de nuestro paquete y la experiencia del usuario. Estos datos nos ayudan a priorizar mejoras y garantizar compatibilidad. Si deseas desactivarlo, configura la variable de entorno SCRAPEGRAPHAI_TELEMETRY_ENABLED=false. Para más información, consulta la documentación aquí.

❤️ Colaboradores

Contributors

🎓 Citas

Si has utilizado nuestra biblioteca con fines de investigación, por favor cítanos con la siguiente referencia:

  @misc{scrapegraph-ai,
    author = {Lorenzo Padoan, Marco Vinciguerra},
    title = {Scrapegraph-ai},
    year = {2024},
    url = {https://github.com/VinciGit00/Scrapegraph-ai},
    note = {A Python library for scraping leveraging large language models}
  }

Autores

Información de contacto
Marco VinciguerraLinkedin Badge
Lorenzo PadoanLinkedin Badge

📜 Licencia

ScrapeGraphAI está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para más información.

Agradecimientos

  • Nos gustaría agradecer a todos los contribuidores del proyecto y a la comunidad de código abierto por su apoyo.
  • ScrapeGraphAI está diseñado únicamente para fines de exploración de datos e investigación. No nos hacemos responsables del uso indebido de la biblioteca.

Hecho con ❤️ por ScrapeGraph AI

Seguimiento de Scarf