AnyCrawl 是一個高性能的網路爬蟲和資料抓取應用程式,基於 Node.js/TypeScript 建構。該項目專為大語言模型(LLM)優化,能夠將網站內容轉換為 LLM 可用的資料格式,並從 Google、Bing、百度等搜尋引擎中提取結構化的搜尋結果頁面(SERP)資料。
AnyCrawl 在多個領域表現出色:
AnyCrawl 支援多種爬取引擎:
使用 Docker Compose 快速啟動:
docker compose up --build
變數名 | 描述 | 預設值 | 示例 |
---|---|---|---|
NODE_ENV |
執行時環境 | production | production, development |
ANYCRAWL_API_PORT |
API 服務埠 | 8080 | 8080 |
ANYCRAWL_HEADLESS |
瀏覽器引擎是否使用無頭模式 | true | true, false |
ANYCRAWL_PROXY_URL |
代理伺服器 URL(支援 HTTP 和 SOCKS) | (無) | http://proxy:8080 |
ANYCRAWL_IGNORE_SSL_ERROR |
忽略 SSL 憑證錯誤 | true | true, false |
ANYCRAWL_KEEP_ALIVE |
請求之間保持連接 | true | true, false |
ANYCRAWL_AVAILABLE_ENGINES |
可用的爬取引擎(逗號分隔) | cheerio,playwright,puppeteer | playwright,puppeteer |
ANYCRAWL_API_DB_TYPE |
資料庫類型 | sqlite | sqlite, postgresql |
ANYCRAWL_API_DB_CONNECTION |
資料庫連接字串/路徑 | /usr/src/app/db/database.db | /path/to/db.sqlite |
ANYCRAWL_REDIS_URL |
Redis 連接 URL | redis://redis:6379 | redis://localhost:6379 |
ANYCRAWL_API_AUTH_ENABLED |
啟用 API 認證 | false | true, false |
ANYCRAWL_API_CREDITS_ENABLED |
啟用積分系統 | false | true, false |
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"
}'
參數 | 類型 | 描述 | 預設值 |
---|---|---|---|
url |
string (必需) | 要抓取的 URL。必須是以 http:// 或 https:// 開頭的有效 URL | - |
engine |
string | 使用的抓取引擎。選項:cheerio(靜態 HTML 解析,最快)、playwright(JavaScript 渲染,現代引擎)、puppeteer(JavaScript 渲染,Chrome 引擎) | cheerio |
proxy |
string | 請求的代理 URL。支援 HTTP 和 SOCKS 代理。格式:http://[username]:[password]@proxy:port | (無) |
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"
}'
參數 | 類型 | 描述 | 預設值 |
---|---|---|---|
query |
string (必需) | 要執行的搜尋查詢 | - |
engine |
string | 使用的搜尋引擎。選項:google | |
pages |
integer | 要檢索的搜尋結果頁數 | 1 |
lang |
string | 搜尋結果的語言代碼(例如:'en'、'zh'、'all') | en-US |
你可以使用 Playground 來測試 API 並為你喜歡的程式語言生成程式碼示例。
💡 注意:如果你是自託管 AnyCrawl,確保將 https://api.anycrawl.dev
替換為你自己的伺服器 URL。
A: 是的,AnyCrawl 支援 HTTP 和 SOCKS 代理。通過 ANYCRAWL_PROXY_URL
環境變數進行配置。
A: AnyCrawl 支援 Puppeteer 和 Playwright 來處理 JavaScript 渲染需求。
AnyCrawl 代表了現代網路爬蟲技術的前沿,特別是在 AI 和機器學習應用場景中。其高性能、易用性和豐富的功能使其成為開發者和企業處理大規模資料抓取任務的理想選擇。