Crawl4AI와 Firecrawl은 웹 데이터를 LLM 파이프라인에 공급하는 기본 방식이 되었습니다 — 크롤링하고, 렌더링하고, 모델이 실제로 사용할 수 있는 깨끗한 Markdown을 돌려줍니다. 그런 다음 실제 타깃을 겨냥하는 순간, 모든 스크레이퍼가 결국 깨닫게 되는 것을 발견합니다. 어려운 부분은 결코 추출 계층이 아니었습니다. 어려운 부분은 크롤러가 하나의 데이터센터 IP에서 실행되고, 웹이 그것을 볼 수 있다는 점입니다.
이 가이드는 두 도구 모두에 대한 실제 동작하는 프록시 구성을 보여줍니다 — 셀프 호스팅 Crawl4AI와 Firecrawl의 두 모드 모두 — 그리고 RAG 수집 작업이 50페이지에서 죽지 않도록 막는 세션 전략까지 함께 다룹니다. 이는 우리의 AI 에이전트 프록시 가이드와 browser-use 가이드를 크롤링 프레임워크로 확장한 것입니다.
Crawl4AI(오픈소스, 셀프 호스팅)는 BrowserConfig 수준에서 프록시를 받습니다 — 크롤러 인스턴스당 하나의 프록시:
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: 프록시는 요청 파라미터입니다 — Firecrawl이 자체 풀을 통해 라우팅합니다. 여러분은 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 크레딧의 몇 배로 청구되며, 국가를 정확히 고정하거나 호출 간에 sticky 세션을 유지할 수 없습니다. 가끔 페이지 몇 개에는 괜찮지만, 수집 볼륨에서는 비싸고 부정확합니다.
셀프 호스팅 Firecrawl: 환경 변수를 통해 자신의 프록시를 공급하며, 완전한 제어가 가능합니다:
# .env for self-hosted Firecrawl
PROXY_SERVER=http://us.jibaoproxy.com:1000
PROXY_USERNAME=USERNAME
PROXY_PASSWORD=PASSWORD
대규모로 수집하기 시작하면 셀프 호스팅 + 자신의 주거용 게이트웨이가 비용 합리적인 구성입니다: stealth 배수가 붙은 페이지당 크레딧 대신 대역폭에 대해 GB당으로 지불합니다.
semaphore_count / delay 옵션이 바로 이를 위해 존재합니다 — 사이트당 동시 2–4페이지면 충분합니다; 대신 병렬성을 여러 사이트에 분산하세요.ETag/Last-Modified를 존중하세요.| 구성 | 지불 대상 | 최적 상황 |
|---|---|---|
| Firecrawl 클라우드, stealth 프록시 | 페이지당 크레딧 × stealth 배수 | 낮은 볼륨, 운영 부담 제로 |
| 셀프 호스팅 Firecrawl + 주거용 GB | 대역폭만 (~$10/GB) | 꾸준한 수집 볼륨 |
| Crawl4AI + 주거용 GB | 대역폭만, 완전한 제어 | 맞춤 파이프라인, 딥 크롤 |
일반적인 텍스트 위주 페이지는 프록시를 통해 100–300 KB가 듭니다 — 대략 GB당 3,000–10,000페이지입니다. 예산을 날리는 것은 차단-후-재시도 루프이며, 이것이 볼륨을 확장하기 전에 탐지를 먼저 해결해야 하는 또 다른 이유입니다.
BrowserConfig 안의 proxy_config; 사이트별 sticky 신원, 사이트 간 회전.proxy: "stealth" 파라미터, 볼륨에서 비쌈; 셀프 호스팅: 환경 변수를 통한 자신의 게이트웨이.신규 사용자는 가입 시 500MB를 받고, 첫 충전 시 추가 보너스를 받습니다. 기간 한정 혜택입니다.