Agent Skills
返回列表
📊

Crawlee 网页爬取与数据抓取 SDK

数据分析 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/crawlee-web-crawling-and-scraping-sdk。

技能介绍

要解决的问题

手动拼装 HTTP 客户端、队列、代理轮换、去重、浏览器实例和数据存储,是爬虫开发最容易出错的地方。切换 Playwright、Puppeteer、Cheerio 或纯 HTTP 后端时,往往需要重写大量适配代码。

技能如何工作

Crawlee 把请求队列、浏览器自动化、代理支持和存储原语组合成一个统一工具包:

  • 使用 RequestQueue 管理待抓 URL,避免重复请求和并发失控
  • 通过 BrowserPool 复用浏览器上下文,降低启动开销
  • 内置代理轮换接口,可接入 Apify Proxy 或其他自定义代理
  • 提供 Dataset、KeyValueStore 等原语持久化结构化结果

关键步骤:定义路由处理逻辑 → 调用 addRequests() 发起抓取 → 在 requestHandler 中解析响应 → 将清洗后的数据写入 Dataset.pushData()。同一个项目可以在 Node.js 环境中切换解析后端,而不用重写调度和存储层。

适用边界与注意点

  • 需要 Node.js 16 或更高版本,更适合长时间运行的爬虫任务
  • 若主要使用 Python,请查看 Crawlee for Python,而不是直接在该 SDK 中寻找 Python 入口
  • 对于仅抓取单个静态 HTML 页面的一次性脚本,直接使用 fetch 或 axios 会更轻量
  • 部署到生产环境前,确认已配置代理轮换、失败重试和速率限制
  • 始终遵守目标网站的 robots.txt 和服务条款

使用场景

  • 构建批量网页爬取任务时,需要统一管理请求队列和去重逻辑
  • 处理依赖JavaScript渲染的页面时,需要通过浏览器自动化提取动态内容
  • 采集大量目标URL时,需要配置代理轮换避免被目标站点限制访问
  • 将爬取结果持久化时,需要使用结构化存储原语保存数据

适合人员

  • 使用Node.js构建爬虫的工程师,需要统一处理请求队列和浏览器自动化
  • 依赖Playwright或Puppeteer解析动态页面的开发者,想复用爬虫调度逻辑
  • 需要将爬取结果存入结构化存储的开发者,不想重复实现存储层
  • 尝试Crawlee CLI入门的新手,希望快速生成可运行的爬虫样板代码