crawlee

写爬虫不用再操心反爬和调度,专注提取数据

Crawlee 是 Apify 开源的 Node.js 网页抓取与浏览器自动化库,用 JavaScript/TypeScript 编写,目标是让开发者快速构建稳定可靠的爬虫。它解决了传统爬虫开发中反爬对抗、并发调度、失败重试、代理轮换等重复性难题:内置自动重试、请求队列、会话池、代理轮换和指纹伪装,能显著降低被目标网站封禁的概率。核心能力包括统一 API 支持多种抓取引擎(Puppeteer、Playwright、Cheerio、JSDOM 及原生 HTTP),可无头或有头运行;支持下载 HTML、PDF、JPG、PNG 等文件,提取的数据可直接用于 AI、LLM、RAG 或 GPT 场景。它还提供自动缩放、请求去重、数据存储与导出,并兼容 Apify 云平台,适合从个人脚本到生产级爬虫的各类需求。

开源 freemium 自动化工作流
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 25821
维护状态 活跃
是否开源
定价模式 freemium

项目数据

分类自动化工作流
开发团队apify
所属国家
定价模式freemium
价格说明开源免费,Apify云平台提供付费托管服务
访问状态
是否开源
开源协议Apache-2.0
主要语言TypeScript
技术栈/模型apify,automation,crawler,crawling,headless,headless-chrome,javascript,nodejs,npm,playwright,puppeteer,scraper,scraping,typescript,web-crawler,web-crawling,web-scraping
GitHub 星标★ 25821
30天Star增速
HF 下载量
上线时间2016-08-26 00:00:00
最近更新2026-09-17 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-09-18
浏览次数3

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 5 步

环境要求

  • Node.js 16 或更高版本
  • npm 包管理器(随 Node.js 一起安装)
  • 建议准备一个自己的 Node.js 项目目录用于引入 Crawlee
  • 如需浏览器抓取,需能正常下载 Playwright 浏览器依赖(网络可达 npm)

安装与启动步骤

  1. 1检查 Node 版本

    Crawlee 明确要求 Node.js 16 或更高,版本过低需先升级 Node 再继续。

    node -v
  2. 2安装依赖包

    Crawlee 不自带 Playwright,示例使用 PlaywrightCrawler,因此两个包要一起安装。

    npm install crawlee playwright
  3. 3编写爬虫脚本

    新建脚本文件(如 crawlee.js)粘贴示例代码:抓取 crawlee.dev 并保存页面标题。

    import { PlaywrightCrawler, Dataset } from 'crawlee';
    
    // PlaywrightCrawler 使用 Playwright 控制的无头浏览器抓取网页
    const crawler = new PlaywrightCrawler({
        // requestHandler 处理每一个被抓取的页面
        async requestHandler({ request, page, enqueueLinks, log }) {
            const title = await page.title();
            log.info(`Title of ${request.loadedUrl} is '${title}'`);
    
            // 结果以 JSON 形式保存到 ./storage/datasets/default
            await Dataset.pushData({ title, url: request.loadedUrl });
    
            // 提取当前页面的链接并加入抓取队列
            await enqueueLinks();
        },
        // 取消注释可看到浏览器窗口(默认无头运行)
        // headless: false,
    });
    
    // 加入首个 URL 并启动抓取
    await crawler.run(['https://crawlee.dev']);
  4. 4运行脚本

    README 未给出运行命令,按 Node.js 常规方式运行该脚本文件,观察控制台日志输出。

    node crawlee.js
  5. 5试用预发布版本

    想提前验证新特性或修复,可安装每次合并代码后自动构建的 beta 版本。

    npm install crawlee@next

关键配置

配置项必填说明示例
headless是否以无头模式运行浏览器,示例中默认开启,注释掉即为有头模式false
overrides.apify.@crawlee/core同时使用 Apify SDK 时,通过依赖覆盖避免安装多份 Crawlee$crawlee
overrides.apify.@crawlee/types同上,配合 @crawlee/core 覆盖一起写入 package.json$crawlee
overrides.apify.@crawlee/utils同上,配合 @crawlee/core 覆盖一起写入 package.json$crawlee

如何确认成功

脚本运行后日志打印 Title of is '...',且当前目录 ./storage/datasets/default 下生成结果 JSON 文件。

常见问题

Q:Crawlee 对 Node.js 版本有什么要求?

A:README 明确要求 Node.js 16 或更高版本,低于该版本请先升级 Node 再安装使用。

Q:为什么安装时要额外装 playwright?

A:Playwright 并未随 Crawlee 一起打包,这样可减小安装体积;使用 PlaywrightCrawler 时必须单独安装。

Q:抓到的数据保存在哪里?

A:默认保存到当前工作目录下的 ./storage,可通过 Crawlee 配置修改该目录。

Q:怎么体验还没正式发布的新功能?

A:安装 beta 构建:npm install crawlee@next,官方为每次合并的代码变更提供自动 beta 构建。

Q:Crawlee 能部署到云上运行吗?

A:Crawlee 开源且可运行在任何环境,官方文档也提供了部署到 Apify 平台云端运行的方式。

注意事项

  • Crawlee 是一个库而非独立服务,必须写入自己的 Node.js 项目后由代码调用。
  • 默认数据目录为当前工作目录下的 ./storage,可通过 Crawlee 配置覆盖,细节见官方 Configuration 指南。
  • README 未提供启动命令,本文按 Node.js 常规方式运行脚本,实际以你的项目配置为准。
  • 若同时使用 Apify SDK,记得在 package.json 中按 README 示例配置 overrides,避免多版本 Crawlee 并存。

核心亮点

  • 统一 API 封装 Puppeteer、Playwright、Cheerio、JSDOM 和原生 HTTP,切换抓取引擎几乎零成本
  • 内置自动重试、会话池、代理轮换和浏览器指纹伪装,开箱即用降低被封风险
  • 自带请求队列、并发自动缩放、去重和数据存储,生产级爬虫基础设施齐全

不足之处

  • 依赖 Node.js 生态,Python 或 Go 技术栈团队需要额外适配
  • 高级反爬场景仍需自行接入第三方代理和验证码服务,并非全自动

适用场景

  • 为 LLM/RAG 应用批量抓取网页内容并清洗成训练语料
  • 电商价格监控与竞品数据采集,需要定时抓取和代理轮换
  • 批量下载网站上的 PDF、图片等静态资源并归档

替代项目

Scrapy、Playwright

项目介绍

crawlee 是一个自动化工作流领域的开源项目,官方简介:Crawlee—A web scraping and browser automation library for Node.js to build reliable crawlers. In JavaScript and TypeScript. Extract data for AI, LLMs, RAG, or GPTs. Download HTML, PDF, JPG, PNG, and other files from websites. Works with Puppeteer, Playwright, Cheerio, JSDOM, and raw HTTP. Both headful and headless mode. With proxy rotation.。项目使用 TypeScript 开发,在 GitHub 上获得 25821 星标。

上一篇:personal-linkedin-agent

下一篇:moon

同类项目推荐

n8n 开源

拖拽搭建自动化流程,轻松接入 AI 与 400+ 应用,搞定重复工作。

Fair-code workflow automation platform with native AI capabilities. Combine visual b···

★ 204578 2026-08-10
robotcode 开源

让 Robot Framework 拥有现代 IDE 体验,调试、补全、运行一气呵成。

Open Source Toolkit for Robot Framework, providing Language Server Protocol support,···

★ 299 2026-08-10
puppeteer 开源

用 JavaScript 轻松操控无头浏览器,搞定自动化测试与网页抓取。

JavaScript API for Chrome and Firefox

★ 95585 2026-08-10
customermates 开源

比 Pipedrive 直观 10 倍的现代开源 CRM,轻松管理客户与自动化流程。

Building a modern alternative to Pipedrive that is 10x more intuitive.

★ 227 2026-08-10