any4ai/AnyCrawl
AnyCrawl 🚀: A Node.js/TypeScript crawler that turns websites into LLM-ready data and extracts structured SERP results from Google/Bing/Baidu/etc. Native multi-threading for bulk processing.
AnyCrawl – 支援 LLM 的高速、可擴展 Web 與 SERP 爬取
是什麼 – AnyCrawl 是一個開源工具包(Node.js + TypeScript),用於高效率的 Web 爬取、全站抓取與搜尋引擎結果(SERP)取得。它提供多執行緒/多進程工作器、內建快取,以及可選的 LLM 驅動的 JSON 提取功能,是需要即時網頁資料的 AI 代理的即用型後端解決方案。
核心功能
- SERP 爬取 – 向 Google(未來支援其他引擎)發送查詢,批次取得結構化結果。
- Web 抓取 – 可選擇三種引擎抓取單一頁面:
cheerio(靜態 HTML,最快)playwright(支援現代 JS 渲染的無頭 Chromium)puppeteer(基於 Chrome 的渲染)
- 網站爬取 – 從根網址開始,透過深度、限制與範圍控制(
same-domain、same-hostname等)遍歷連結。 - 批次任務 – 一次提交多個 URL,取得任務 ID,輪詢狀態,並取得分頁結果。
- LLM 提取 – 提供 JSON 模式;AnyCrawl 呼叫 OpenAI 相容的 LLM(如 Atlas Cloud)將原始頁面內容轉換為結構化 JSON。
- 可擴展性 – 使用多執行緒、多進程、Redis 支援的佇列,以及 Docker 就緒鏡像實現水平擴展。
- 代理支援 – 支援請求層級或全域代理設定;預設使用贊助商提供的高品質住宅代理。
- 快取層 – 可選本地、S3 或 Redis 快取,避免重複下載未變更的頁面。
典型工作流程
- 自架設(或使用公開 API
https://api.anycrawl.dev)。 - 產生 API 金鑰(
pnpm --filter api key:generate)。 - 使用包含 URL、引擎、限制與可選
json_options(用於 LLM 提取)的 JSON 負載,呼叫相應端點(/v1/scrape、/v1/crawl、/v1/search或/v1/batch/scrape)。 - 接收包含原始 HTML/文字、可選提取欄位與元資料(狀態、快取資訊等)的 JSON 回應。
快速入門
- 文件: https://docs.anycrawl.dev
- 沙盒: https://anycrawl.dev/playground(互動式 API 測試器)。
- Docker:
docker compose up啟動後,在容器內產生金鑰(docker compose exec api pnpm --filter api key:generate)。 - CLI: 倉儲提供
pnpm腳本用於金鑰產生與測試。
適用對象
- 需要新鮮網頁內容的 AI 代理(如檢索增強生成管道)。
- 從網路建構訓練資料集的資料科學團隊。
- 抓取 SERP 結果的 SEO/市場研究工具。
- 需要可靠、可擴展抓取並支援可選 LLM 結構化的自動化平台。
授權 – MIT(寬鬆,允許商業使用)。
由 Any4AI 團隊開發,旨在為 AI 生態系統提供可靠、易於整合的爬取服務。
相關
- 專案
- 專案
- 專案
- 專案
- 專案