Crawl4AI 與 Firecrawl 已成為把網頁資料餵進 LLM 流水線的預設方式 — 它們爬取、渲染,然後回傳你的模型真正能用的乾淨 Markdown。接著你把它們指向一個真實目標,就會發現每個抓取者最終都會學到的事:萃取層從來不是難的部分。難的是你的爬蟲跑在一個資料中心 IP 上,而整個網路看得見它。
本指南會示範這兩個工具的可用 proxy 設定 — 自架的 Crawl4AI 與 Firecrawl 的兩種模式 — 外加能阻止 RAG 匯入工作在第 50 頁就掛掉的工作階段策略。它把我們的 AI 代理人 proxy 指南與 browser-use 指南延伸到爬取框架。
Crawl4AI(開源、自架)在 BrowserConfig 這一層接收 proxy — 每個爬蟲實例一個 proxy:
from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig
browser_cfg = BrowserConfig(
headless=True,
proxy_config={
"server": "us.jibaoproxy.com:913",
"username": "USERNAME",
"password": "PASSWORD",
},
)
async with AsyncWebCrawler(config=browser_cfg) as crawler:
result = await crawler.arun(
url="https://example.com/docs",
config=CrawlerRunConfig(),
)
print(result.markdown[:500])
對於深度爬取,要按爬蟲實例輪換身分,而不是按頁面 — 一次站台造訪內的各個頁面應該共用同一個出口 IP(一個人不會在第 3 頁和第 4 頁之間換城市):
def crawler_for(site_id: str) -> BrowserConfig:
# Sticky session per site: cookies + IP move together
return BrowserConfig(
headless=True,
proxy_config={
"server": "us.jibaoproxy.com:913",
"username": f"USERNAME-session-{site_id}",
"password": "PASSWORD",
},
)
# site A crawled through exit A, site B through exit B, in parallel
雲端 API:proxy 是一個請求參數 — Firecrawl 透過它自己的 IP 池來路由。你能控制的是品質層級,而不是那些 IP:
from firecrawl import FirecrawlApp
app = FirecrawlApp(api_key="fc-YOUR-KEY")
result = app.scrape_url(
"https://example.com/pricing",
params={"proxy": "stealth"}, # basic | stealth | auto
)
陷阱是:stealth 層級的請求會以 basic 額度的數倍計費,而且你無法精確地綁定國家,也無法跨多次呼叫維持黏性工作階段。偶爾抓幾頁沒問題;到了匯入量級就既昂貴又不精確。
自架 Firecrawl:你透過環境變數提供自己的 proxy,擁有完整控制權:
# .env for self-hosted Firecrawl
PROXY_SERVER=http://us.jibaoproxy.com:1000
PROXY_USERNAME=USERNAME
PROXY_PASSWORD=PASSWORD
一旦你的匯入達到規模,自架 + 你自己的住宅閘道就是符合成本理性的設定:你按 GB 支付頻寬費用,而不是按頁計算還帶 stealth 倍數的額度。
semaphore_count / delay 選項就是為此而存在 — 每個站台 2–4 個並行頁面就很夠了;要把並行度分散到不同站台之間。ETag/Last-Modified。| 設定 | 你付的是 | 最適合何時 |
|---|---|---|
| Firecrawl 雲端、stealth proxy | 按頁額度 × stealth 倍數 | 低流量、零維運 |
| 自架 Firecrawl + 住宅 GB | 只算頻寬(約 $10/GB) | 穩定的匯入量 |
| Crawl4AI + 住宅 GB | 只算頻寬,完整控制 | 客製化流水線、深度爬取 |
一個典型的文字密集頁面透過 proxy 大約耗 100–300 KB — 大致是每 GB 3,000–10,000 頁。把預算吹爆的是封鎖後重試的迴圈,這也是為什麼要在擴大流量之前先修好偵測問題的另一個理由。
BrowserConfig 裡的 proxy_config;每個站台黏性身分,站台之間才輪換。proxy: "stealth" 參數,量大時昂貴;自架:透過環境變數用你自己的閘道。新用戶註冊即送 500M免費流量,首次儲值另有贈金。優惠限時供應。