ez-crawllisted
Install: claude install-skill 0xedgelessblade/ez-crawl
# 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 | 理由 |
|---------|--------|----