Skip to main content

crawlee-web-scraping

Crawlee — Librería de web scraping y browser automation de Apify. Soporta Puppeteer, Playwright, Cheerio, JSDOM, HTTP raw. Proxy rotation, anti-bot bypass.

跳到安装

来源信息

仓库
Ntizar/NtizarBrainMasterMind
最近来源活动
2026年7月7日 07:40
检测到的 SKILL.md 语言
西班牙语
星标
2
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
crawlee-web-scraping
version
1.0.0
description
Crawlee — Librería de web scraping y browser automation de Apify. Soporta Puppeteer, Playwright, Cheerio, JSDOM, HTTP raw. Proxy rotation, anti-bot bypass.
tags
["web-scraping","crawler","crawling","puppeteer","playwright","automation","apify","nodejs","proxy"]
# Crawlee — Web Scraping y Browser Automation ## Resumen [Crawlee](https://github.com/apify/crawlee) (⭐25K) de Apify es la librería de web scraping y browser automation más popular para Node.js. Soporta Puppeteer, Playwright, Cheerio, JSDOM y HTTP raw. Proxy rotation y anti-bot bypass incluidos. **Diferencia clave**: Cubre el scraping end-to-end — desde la request HTTP hasta la extracción de datos, con rotación de proxy y comportamiento human-like por defecto. ## Cuándo usar - Scraping a gran escala de múltiples sitios - Automatización de navegadores para sitios dinámicos - Extracción de datos para AI/LLMs/RAG - Scraping que requiere proxy rotation y anti-bot - Descargar archivos (HTML, PDF, JPG, PNG) de sitios web ## Patrón de uso ```bash npm install crawlee ``` ```javascript // Cheerio — scraping ligero (HTML estático) import { CheerioCrawler } from 'crawlee'; const crawler = new CheerioCrawler({ requestHandler: ({ request, $, enqueueLinks }) => { const title = $('h1').text(); const paragraphs = $$('p').map(p => p.text()); // Extraer más páginas await enqueueLinks({ globs: ['https://example.com/*'], exclude: ['https://example.com/logout'] }); console.log(title, paragraphs.length, 'paragraphs'); }, }); await crawler.run(['https://example.com']); ``` ```javascript // Playwright — scraping de sitios dinámicos (JS renderizado) import { PlaywrightCrawler } from 'crawlee'; const crawler = new PlaywrightCrawler({ maxRequestRetries: 3, requestHandler: ({ request, page }) => { // Esperar a que el JS renderice await page.waitForSelector('.dynamic-content'); const data = await page.$$eval('.item', els => els.map(el => el.textContent) ); }, }); await crawler.run(['https://dynamic-site.com']); ``` ```javascript // Puppeteer — alternativa a Playwright import { PuppeteerCrawler } from 'crawlee'; const crawler = new PuppeteerCrawler({ launchOptions: { headless: true }, requestHandler: async ({ page, request }) => { await page.waitForSelector('.content'); const text = await page.$eval('.content', el => el.textContent); }, }); ``` ## Features clave | Feature | Descripción | |---------|-------------| | Multi-engine | Cheerio, Playwright, Puppeteer, JSDOM, HTTP | | Proxy rotation | Proxy rotation integrado | | Human-like | Comportamiento humano por defecto | | Auto-scaling | Escala automáticamente según recursos | | Session management | Gestión de sesiones con rotación | | Proxy config | Soporta proxies HTTP, HTTPS, SOCKS | | Headful/Headless | Ambos modos soportados | ## Integración con otros skills - **adaptive-web-scraping**: Alternativa Python (Scrapling) vs Crawlee (Node.js) - **firecrawl-web-scraping**: Alternativa API-based para scraping - **marker-pdf-conversion**: Crawlee descarga PDFs → Marker los convierte - **static-digest-pipeline**: Pipeline de digest estático con Crawlee como fuente ## Pitfalls - **Rate limiting**: Respetar rate limits. Crawlee no lo hace automáticamente - **Legal**: Verificar ToS del sitio antes de scrapear - **Memory**: Páginas grandes consumen memoria. Configurar `maxConcurrency` apropiadamente - **Playwright vs Puppeteer**: Playwright es más moderno y rápido. Puppeteer solo funciona con Chrome/Chromium ## Referencias - Docs: https://crawlee.dev - npm: https://www.npmjs.com/package/@crawlee/core - Discord: https://discord.gg/jyEM2PRvMU --- **Hecho con ❤️ por David Antizar**
在 GitHub 查看