项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 3524
使用教程
ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。
环境要求
- Docker 与 Docker Compose(README 以 Docker 方式运行 AnyCrawl)
- Node.js 20 或更高版本(CloakBrowser 浏览器运行时要求)
- 一个稳定可写的目录用于浏览器缓存(CLOAKBROWSER_CACHE_DIR)
- 自建服务时需要一个可访问的 API 服务地址(示例中的 https://api.anycrawl.dev 需替换)
安装与启动步骤
-
1查阅官方文档
README 的 Quick Start 只指向官方文档,完整安装与部署说明需在文档站查看,切勿凭猜测执行安装命令。
-
2生成 API 密钥
在 Docker Compose 部署下进入 api 服务容器生成密钥,执行前需确保 compose 服务已运行。
docker compose exec api pnpm --filter api key:generate -
3生成默认密钥
追加 -- default 生成默认密钥,与上一条配合使用,用于初始化可用的访问凭据。
docker compose exec api pnpm --filter api key:generate -- default -
4单容器生成密钥
非 Compose 的单容器部署使用 docker exec,需先把 <container_name_or_id> 换成实际容器名或 ID。
docker exec -it <container_name_or_id> pnpm --filter api key:generate docker exec -it <container_name_or_id> pnpm --filter api key:generate -- default -
5配置浏览器运行时
自建场景设置缓存目录为稳定可写路径并关闭自动更新,避免 worker 启动时下载浏览器;自行管理二进制时可指定路径。
-
6调用 API 验证
到 Playground 测试 API 并生成代码,自建服务时把示例地址 https://api.anycrawl.dev 换成自己的服务地址。
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
CLOAKBROWSER_CACHE_DIR | 是 | 浏览器缓存目录,本地或自定义部署需设为稳定可写路径 | /your/path/cloakbrowser |
CLOAKBROWSER_AUTO_UPDATE | 否 | 设为 false 可避免 worker 启动时下载浏览器 | false |
CLOAKBROWSER_BINARY_PATH | 否 | 自行管理浏览器二进制时指定其路径 | /your/path/browser |
ANYCRAWL_BROWSER_GEOIP | 否 | 默认 true,通过所选代理解析时区与语言,失败则启动失败 | true |
ANYCRAWL_BROWSER_TIMEZONE | 否 | 已知地区时直接指定时区,可省去 GeoIP 查询 | Asia/Shanghai |
ANYCRAWL_BROWSER_LOCALE | 否 | 已知地区时直接指定语言,需与 TIMEZONE 同时设置 | zh-CN |
如何确认成功
密钥生成命令在容器内执行成功,并在 Playground 或自有服务地址上成功调用 API 即表示可用。
常见问题
Q:自建服务时 API 地址怎么填?
A:把示例中的 https://api.anycrawl.dev 替换为你自己的服务器 URL,其余参数不变。
Q:可以把 engine 传成 cloakbrowser 吗?
A:不可以。公开的 scrape 与 crawl 引擎值仍为 cheerio、playwright 和 puppeteer,playwright 与 puppeteer 默认经 CloakBrowser 启动。
Q:GeoIP 数据库需要手动下载吗?
A:不需要。GeoIP 依赖已安装,其数据库约 70 MB 会在首次使用时下载并缓存。
Q:浏览器启动为什么会失败?
A:开启 GeoIP 时解析失败会直接导致启动失败;已知地区可同时设置 ANYCRAWL_BROWSER_TIMEZONE 和 ANYCRAWL_BROWSER_LOCALE,或设 ANYCRAWL_BROWSER_GEOIP=false 关闭。
注意事项
- API 与 worker 部署应使用相同的浏览器区域设置。
- 请使用粘性或地区稳定的代理:固定代理 URL 不保证固定出口,且已运行浏览器的进程级时区无法再改变。
- 浏览器进程仅在代理 URL 相同时复用,页面上下文默认相互隔离。
- 上述 Docker 密钥命令针对容器内环境,README 未提供本地源码安装步骤,如需本地部署请以官方文档为准。
核心亮点
- 原生多线程,批量爬取效率高,适合大规模数据处理
- 内置 Google/Bing/Baidu 等主流搜索引擎的 SERP 解析,开箱即用
- 输出格式直接面向 LLM,减少数据清洗工作量
不足之处
- 文档/社区待观察
- 依赖 Node.js 生态,对非 JS 开发者有一定门槛
适用场景
- 构建知识库或训练数据集,需要从网站抓取文本内容
- 监控搜索引擎排名或收集搜索结果用于 SEO 分析
- 为 AI 对话系统提供实时网页信息检索能力
替代项目
Scrapy、Playwright、Apify
上一篇:dataherald
下一篇:OpenKB
同类项目推荐
anysearch-mcp-server
开源
一个接口搞定 AI 联网搜索与整页抓取
Unified real-time search MCP server supporting general web search, vertical domain s···
VideoRAG
开源
把视频变成可检索的知识库,直接问答还能给依据
VideoRAG: Retrieval-Augmented Generation over Video Corpus
RAG-Anything
开源
多模态文档一键变可问答知识库
"RAG-Anything: All-in-One RAG Framework"
infino
开源
在应用内嵌 Parquet 检索,全文+向量混合搜索开箱即用
Embedded retrieval library built on Parquet. Fast, efficient, and scalable.
ragnar
开源
用 R 语言几行代码搭出可对话的文档问答系统
RAG in R
claude-rank
开源
让 AI 搜到你的网站,自动修复可发现性文件
Claude Code plugin that tells you why your site won't get cited by AI — and fixes t···
docsmint
开源
一份知识库,人和 AI 都能查能用
Open-source knowledge base for people and AI agents. Rich-text editing, hybrid searc···
ontosmith
开源
从文档构建可追溯、可审计的知识图谱
A decision-model-based ontology & knowledge-graph builder — builds governed knowled···
SuperMew
开源
让 AI 自己决定查什么、查几次,复杂问答更靠谱
SuperMew — Agentic RAG with LangChain & LangGraph
