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).

설치로 이동

소스 정보

저장소
Ntizar/NtizarBrainMasterMind
최근 소스 활동
2026년 7월 5일 19:29
감지된 SKILL.md 언어
스페인어
스타
2
포크
0

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
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**
GitHub에서 보기