項目介紹#
AnyCrawl 是一個高性能的網路爬蟲和數據抓取應用程序,專為現代 AI 應用場景設計。它不僅僅是一個簡單的爬蟲工具,而是一個功能全面的數據採集解決方案。
核心功能特性#
多樣化的爬取模式#
- SERP 爬取:支持多搜索引擎
- 批量處理網頁爬取:高效的單頁面內容提取
- 站點爬取:智能化全站點遍歷抓取
- 批量處理:支持大規模批量爬取任務
強大的技術架構#
- 多線程架構:充分利用系統資源,提升爬取效率
- 多進程支持:處理大型任務時表現卓越
- 多引擎支持:Cheerio、Playwright、Puppeteer 三大引擎任君選擇
- LLM 優化:專門為大語言模型應用場景優化
技術棧與部署#
AnyCrawl 基於現代化的技術棧構建:
- Node.js + TypeScript:保證代碼質量和開發效率
- Redis:提供高性能緩存支持
- Docker:一鍵部署,開箱即用快速部署
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 連接配置
使用示例#
基礎網頁抓取#
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"
}'
搜索引擎結果抓取#
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