项目介绍
AnyCrawl 是一个高性能的网络爬虫和数据抓取应用程序,专为现代AI应用场景设计。它不仅仅是一个简单的爬虫工具,而是一个功能全面的数据采集解决方案。
核心功能特性
多样化的爬取模式
-
SERP爬取:支持多搜索引擎批量处理 -
网页爬取:高效的单页面内容提取 -
站点爬取:智能化全站点遍历抓取 -
批量处理:支持大规模批量爬取任务
强大的技术架构
-
多线程架构:充分利用系统资源,提升爬取效率 -
多进程支持:处理大型任务时表现卓越 -
多引擎支持:Cheerio、Playwright、Puppeteer三大引擎任君选择 -
LLM优化:专门为大语言模型应用场景优化
技术栈与部署
AnyCrawl基于现代化的技术栈构建:
-
Node.js + TypeScript:保证代码质量和开发效率 -
Redis:提供高性能缓存支持 -
Docker:一键部署,开箱即用
快速部署
ounter(line
docker compose up --build
丰富的配置选项
AnyCrawl提供了灵活的环境变量配置,主要包括:
基础配置
-
ANYCRAWL_API_PORT
:API服务端口(默认8080) -
ANYCRAWL_HEADLESS
:浏览器无头模式 -
ANYCRAWL_AVAILABLE_ENGINES
:可用抓取引擎
网络配置
-
ANYCRAWL_PROXY_URL
:代理服务器设置(支持HTTP和SOCKS) -
ANYCRAWL_IGNORE_SSL_ERROR
:SSL证书错误处理 -
ANYCRAWL_KEEP_ALIVE
:连接保持策略
数据存储
-
ANYCRAWL_API_DB_TYPE
:数据库类型(SQLite/PostgreSQL) -
ANYCRAWL_REDIS_URL
:Redis连接配置
使用示例
基础网页抓取
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
curl -X POST http://localhost:8080/v1/scrape \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_ANYCRAWL_API_KEY' \
-d '{
"url": "https://example.com",
"engine": "cheerio"
}'
搜索引擎结果抓取
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
curl -X POST http://localhost:8080/v1/search \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_ANYCRAWL_API_KEY' \
-d '{
"query": "AnyCrawl",
"limit": 10,
"engine": "google",
"lang": "all"
}'
引擎选择策略
AnyCrawl提供三种抓取引擎,各有特色:
-
Cheerio:静态HTML解析,速度最快,适合简单页面 -
Playwright:现代JavaScript渲染引擎,功能强大 -
Puppeteer:基于Chrome的JavaScript渲染,兼容性好
开发者可以根据具体需求选择最合适的引擎,实现性能与功能的完美平衡。
实用功能亮点
代理支持:完美支持HTTP和SOCKS代理,轻松应对各种网络环境
JavaScript渲染:通过Puppeteer和Playwright支持,无论是SPA还是动态加载内容都能完美处理
批量处理:内置批量任务处理机制,大规模数据采集不再是难题
API友好:RESTful API设计,集成简单便捷
项目地址
github地址:https://github.com/any4ai/anycrawl
官方文档:https://docs.anycrawl.dev
扫码加入技术交流群,备注「开发语言-城市-昵称」
(文:GitHubStore)