ez-crawl
Cloudflare /crawl API 網站爬取工具。當使用者想要爬取、擷取、抓取一個網站的內容時, 用 Cloudflare Browser Rendering 的 /crawl REST API 來完成,而不是用瀏覽器手動操作。 觸發時機:使用者說「/ez」、「ez crawl」、「用 Cloudflare 爬」、「CF crawl」、 「用 /crawl API」、「幫我爬這個網站」、「抓這個站的內容」、「crawl this site」、 「把這個網站的內容都抓下來」、「爬完整站」、「抓整站 markdown」等。 也適用於使用者提到想把某個文件站、部落格、產品頁批量轉成 markdown 或 JSON, 或者需要建 RAG knowledge base、訓練資料集時想批量抓網頁內容。 只要涉及「用 API 批量爬網站」的場景都應觸發,即使使用者沒有明確說 Cloudflare。 不適用於單一頁面的簡單抓取(那用 WebFetch 就好)或需要登入互動的瀏覽器操作。 --- # ez-crawl — Cloudflare /crawl API 網站爬取工具 > **快速觸發指令:** `/ez` 或 `ez crawl` ## 這個 skill 做什麼 用 Cloudflare 的 `/crawl` REST API 爬取整個網站。一個 HTTP 請求發出去,Cloudflare 的 headless browser 會自動發現子頁面(從 sitemap + 頁面連結),渲染 JavaScript 動態內容,回傳 HTML / Markdown / JSON。 核心流程:發起 crawl → polling 等完成 → 取回結果 → 存檔處理。 ## 前置條件檢查 每次觸發時,先檢查 credentials 是否就位: 1. 找 `.env` 檔案:在使用者的工作目錄或專案目錄中尋找 2. 需要的環境變數: - `CF_ACCOUNT_ID` — Cloudflare Account ID(32 字元 hex) - `CF_API_TOKEN` — 有 Browser Rendering - Edit 權限的 API Token 3. 如果找不到 → 進入「初次設定」流程(見下方) ## 初次設定流程 如果沒有 credentials,引導使用者完成設定: ### Step 1:確認 Cloudflare 帳號 問使用者是否已有帳號。沒有的話,請他到 https://dash.cloudflare.com 註冊(免費帳號即可)。 ### Step 2:取得 Account ID 引導使用者到 Dashboard 首頁,右邊欄找到 Account ID(32 字元 hex 字串)。 或到 Workers & Pages → Overview 右邊欄。 ### Step 3:建立 API Token 引導使用者到 https://dash.cloudflare.com/profile/api-tokens: 1. Create Token → Create Custom Token 2. Token name: `browser-rendering`(或任意名稱) 3. Permissions: Account → **Browser Rendering** → **Edit** 4. Account Resources: Include → 使用者的帳號 5. Continue to summary → Create Token → 複製(只顯示一次!) ### Step 4:存到 .env 在專案目錄建立 `.env` 檔案: ``` CF_ACCOUNT_ID=你的AccountID CF_API_TOKEN=你的Token ``` 拿到 credentials 後,用一個簡單的 API 呼叫驗證連線: ```bash source .env curl -s "https://api.cloudflare.com/client/v4/accounts/${CF_ACCOUNT_ID}/browser-rendering" \ -H "Authorization: Bearer ${CF_API_TOKEN}" | jq '.success' ``` 回傳 `true` 就代表設定成功。 ## 爬取流程 ### 1. 分析目標 根據使用者提供的 URL,決定最佳策略: | 網站類型 | render | 理由 | |---------|--------|------| | 靜態文件站(docs、blog、wiki) | `false` | 內容在原始 HTML 裡,不跑 JS 更快,beta 期間不計瀏覽器時間 |
更新日志: Source: GitHub https://github.com/0xedgelessblade/ez-crawl
还没有评论,快来第一个发言吧。