Skip to main content

llm-friendly-web-crawler

Crawling web LLM-friendly con crawl4ai — output optimizado para LLMs, scraping asíncrono, extracción estructurada. Inspirado en unclecode/crawl4ai (⭐71K).

Ir para a instalação

Informações da origem

Repositório
Ntizar/NtizarBrainMasterMind
Última atividade na origem
5 de julho de 2026 às 19:29
Idioma detectado do SKILL.md
espanhol
Estrelas
2
Forks
0

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
llm-friendly-web-crawler
version
1.0.0
description
Crawling web LLM-friendly con crawl4ai — output optimizado para LLMs, scraping asíncrono, extracción estructurada. Inspirado en unclecode/crawl4ai (⭐71K).
tags
["crawler","scraping","llm","crawl4ai","web","extraction","async"]
# Crawler Web LLM-Friendly ## Resumen [crawl4ai](https://github.com/unclecode/crawl4ai) (⭐71K) es un crawler web open-source diseñado para LLMs. Genera output en markdown limpio, extrae datos estructurados, y soporta estrategias de extracción con LLM. ## Cuándo usar - Scrapear web y alimentar LLMs con contenido limpio - Extracción estructurada de páginas (productos, artículos, datos) - Crawling asíncrono de múltiples sitios en paralelo - Preparar datos para RAG desde web ## Patrón de uso ```python import asyncio from crawl4ai import AsyncWebCrawler, CrawlerStrategy async def crawl_site(url): async with AsyncWebCrawler() as crawler: # Crawl básico — output markdown limpio result = await crawler.arun(url) print(f"Markdown: {result.markdown[:500]}") print(f"Links: {result.links}") return result # Crawl con extracción estructurada async def crawl_with_extraction(url, schema): async with AsyncWebCrawler() as crawler: result = await crawler.arun( url, extraction_strategy=CrawlerStrategy( type="json_schema", schema=schema # JSON schema de qué extraer ) ) return result.extracted_content # Datos estructurados # Schema de extracción product_schema = { "type": "object", "properties": { "name": {"type": "string"}, "price": {"type": "number"}, "description": {"type": "string"}, "image": {"type": "string"} } } # Crawl paralelo de múltiples URLs async def crawl_multiple(urls): async with AsyncWebCrawler() as crawler: tasks = [crawler.arun(url) for url in urls] results = await asyncio.gather(*tasks) return results asyncio.run(crawl_site("https://example.com")) ``` ## Estrategias de extracción | Estrategia | Cuándo | Output | |-----------|-------|--------| | `markdown` | Content para LLM | Markdown limpio | | `json_schema` | Datos estructurados | JSON validado | | `css_selector` | Extracción por CSS | HTML/Text de elementos | | `xpath` | Extracción por XPath | HTML/Text de nodos | | `llm_extraction` | Extracción con LLM | JSON desde LLM | ## Pitfalls - **Rate limiting:** crawl4ai respeta robots.txt por defecto. Desactivar con cuidado. - **JavaScript:** Sitios SPA necesitan JavaScript rendering. crawl4ai usa Playwright por defecto. - **Memory:** Crawling de sitios grandes puede consumir mucha memoria. Usar `max_depth` y `max_pages`. - **Output size:** Markdown de páginas grandes puede superar context window. Truncar o chunk. - **Async:** Todo es async. Usar `asyncio.run()` o integrar en event loop existente. ## Referencias - crawl4ai: https://github.com/unclecode/crawl4ai - Docs: https://docs.crawl4ai.com --- **Hecho con ❤️ por David Antizar**
Ver no GitHub