인터넷은 해마다 더 복잡해지고 있고, “내가 이 데이터가 필요하다”와 “그걸 어떻게 가져오지?” 사이의 간극은 여전히 꽤 큽니다. 초보자라면 가장 먼저 드는 질문도 아주 단순하죠: 웹사이트에서 상품 가격을 뽑아내려면 정말 Python부터 배워야 하나요?
다행히 그럴 필요는 없습니다. 하지만 다음 질문, *그럼 도대체 어떤 도구를 골라야 하지?*는 훨씬 더 헷갈립니다. 노코드 데스크톱 앱, 브라우저 확장 프로그램, Python 프레임워크, Go 라이브러리, SEO 스파이더, 관리형 API, 그리고 이 모든 경계를 흐리는 open-source 프로젝트까지 정말 다양하니까요. 2026년 기준으로 눈여겨볼 만한 10가지 솔루션을, 초보자에게 실제로 중요한 기준—코드를 얼마나 써야 하는지, 실제 데이터를 얼마나 빨리 얻을 수 있는지, JavaScript 사이트를 처리할 수 있는지, 무료로 어디까지 쓸 수 있는지, 어떤 작업에 가장 잘 맞는지—로 정리했습니다. 코드를 한 번도 안 써봤든, 첫 번째 크롤링 프레임워크를 찾는 주니어 개발자든, 여기서 시작점 하나는 분명 찾을 수 있을 겁니다.
초보자를 위한 최고의 웹 크롤러 고르는 법
“초보자”라고 해서 꼭 비기술직만 뜻하는 건 아닙니다. 웹 크롤링 workflow를 한 번도 직접 만들어본 적이 없는 사람이라면 누구나 해당돼요. 간단한 Python이나 JavaScript는 꽤 잘 써도, URL 큐를 다뤄본 적이 없거나 robots.txt를 제대로 분석해본 적이 없다면 역시 초보자 범주에 들어갑니다.
각 도구는 초보자들이 포럼에서 가장 자주 묻는 질문을 기준으로, 다음 6가지 항목으로 평가했습니다.
- 코드가 필요한가 — 전혀 필요 없음, 기본 Python/JS, 또는 intermediate+
- 설정 난이도 — 설치 후 실제로 쓸 만한 데이터가 나오기까지 얼마나 걸리는가
- JavaScript 렌더링 — SPA나 동적 로딩 페이지를 처리할 수 있는가
- 무료 플랜의 여유도 — 0원으로 어디까지 가능한가
- 내보내기 형식 — CSV, JSON, Excel, Google Sheets 등
- 가장 적합한 사용 시나리오 — 초보자에게 특히 잘 맞는 구체적인 작업
이 리스트는 no-code(프로그래밍 없음), intermediate(기본 Python/JavaScript), advanced beginner(Go 또는 프레임워크를 좀 더 깊게 이해하는 수준) 세 단계로 나눴습니다. 각 도구의 강점과 한계를 솔직하게 보여드리려 했어요. 초보자 수준에 맞지 않는 크롤러를 고르는 건, 반나절을 허무하게 날리는 가장 빠른 방법 중 하나니까요.
첫 번째 웹 크롤러 고르기: 빠른 결정 트리

열 가지 리뷰를 보기 전에, 먼저 아래 세 질문에 답해보세요. 답의 조합이 여러분에게 맞는 도구 한두 개를 바로 좁혀줍니다.
질문 1: 코딩이 얼마나 편한가요?
- 전혀 못함 → 질문 2a로
- 기본 Python 가능 → 질문 2b로
- JavaScript/TypeScript 가능 → 질문 2c로
- Go 가능 → Colly
질문 2a (노코드): 가장 중요한 목표는 무엇인가요?
- 일반적인 데이터 수집(상품 정보, 리드 리스트, 리서치) → Thunderbit 또는 Octoparse
- 복잡한 다단계 시나리오(로그인, 드롭다운, 무한 스크롤) → ParseHub 또는 Octoparse
- SEO 감사 → Screaming Frog
질문 2b (Python): 가장 중요한 목표는 무엇인가요?
- AI/LLM 파이프라인(RAG, 챗봇 학습) → Crawl4AI 또는 Firecrawl
- 정적 사이트 위주의 대규모 구조화 크롤링 → Scrapy
- JavaScript가 많은 사이트에서 브라우저 자동화 → Playwright(단, 크롤링 로직은 직접 짜야 합니다)
질문 2c (JavaScript/TypeScript): 가장 중요한 목표는 무엇인가요?
- 안티블로킹이 필요한 최신 SPA 크롤링 → Crawlee
- 로그인, 클릭, 스크린샷 같은 브라우저 상호작용 → Playwright
- AI에 넣기 좋은 깔끔한 Markdown 출력 → Firecrawl(API/SDK 경유)
예산 필터: 소프트웨어 비용을 0원으로 잡고, 직접 배포할 수 있다면 이 목록의 open-source 도구들(Scrapy, Crawlee, Crawl4AI, Playwright, Colly)은 벤더 측 페이지 제한이 없습니다. 다만 컴퓨팅 자원, 트래픽, 저장공간, 유지보수, 그리고 대상 사이트의 제약은 여전히 남아 있습니다. 자체 호스팅이 어렵다면, Octoparse, ParseHub, Thunderbit, Firecrawl, Screaming Frog는 각기 다른 제한이 있는 무료 옵션을 제공합니다.
이 도식 하나만으로도 탭을 수십 번 넘나드는 시간을 아낄 수 있습니다. 북마크해두는 걸 추천합니다.
초보자를 위한 최고의 웹 크롤러: 한눈에 비교
아래는 전체 비교 표입니다. “코드 필요 여부”는 어떤 언어가 필요한지, 혹은 아예 필요 없는지를 뜻합니다. “JS Rendering”은 JavaScript로 콘텐츠가 로딩되는 페이지를 처리할 수 있는지 보여줍니다. “Free Tier”는 0원으로 어디까지 가능한지 간단히 정리했습니다. 자세한 리뷰는 아래에서 확인하세요.
| 도구 | 수준 | 코드 필요 여부 | JS Rendering | 무료 플랜 | 가장 적합한 용도 |
|---|---|---|---|---|---|
| Octoparse | 초보자 | 없음 | ✅ 내장 | 무료 플랜: 10개 작업, 로컬 실행만, 내보내기 1만 행 | 클릭 기반의 구조화된 사이트 파싱 |
| ParseHub | 초보자 | 없음 | ✅ 내장 | 공개 프로젝트 5개, 실행당 200페이지, 14일 보관 | 노코드로 복잡한 다중 페이지 시나리오 처리 |
| Thunderbit | 초보자 | 없음 | ✅ 브라우저 기반 | 무료 플랜 (최신 제한은 여기서 확인) | 이미 열어둔 페이지에서 데이터를 뽑는 AI 보조 도구 |
| Crawl4AI | Intermediate | Python | ✅ Chromium | Open source (self-hosted) | LLM 및 RAG 파이프라인용 크롤링 |
| Firecrawl | Intermediate | API/SDK | ✅ 관리형 | 월 1,000 크레딧 (cloud) | AI 입력용 깔끔한 Markdown 출력 |
| Scrapy | Intermediate | Python | ⚠️ 플러그인 필요 | Open source (BSD) | 대규모 맞춤형 HTTP 크롤링 프로젝트 |
| Crawlee | Intermediate | JS/TS 또는 Python | ✅ Playwright 통해 | Open source (Apache) | 안티블로킹이 필요한 현대적 JS 크롤링 |
| Playwright | Intermediate | Python/JS/Java/.NET | ✅ 네이티브 | Open source (Apache) | 브라우저 자동화 및 JS-heavy 사이트 상호작용 |
| Screaming Frog | 초보자 | 없음 | ✅(유료만) | 한 번 크롤링당 500 URL(평생 무료) | SEO 감사와 기술적 사이트 분석 |
| Colly | Advanced beginner | Go | ⚠️ 내장 지원 없음 | Open source (Apache) | 빠르고 가벼운 병렬 HTTP 크롤링 |
이제 하나씩 자세히 살펴보겠습니다.
1. Octoparse

Octoparse는 no-code 데스크톱 빌더로, 선택적으로 유료 클라우드 실행도 지원합니다. URL을 넣으면 Auto-detect가 반복되는 데이터 필드와 페이지 이동 패턴을 자동으로 찾아주고, 미리보기를 확인한 뒤 로컬에서 바로 작업을 실행할 수 있습니다. 시각적 workflow 편집기는 루프, 분기, 페이지네이션, 무한 스크롤, AJAX, 폼, 드롭다운까지 지원합니다. 다만 동적 시나리오는 가끔 타이밍을 손봐야 할 때가 있습니다.
주요 기능:
- 데이터 필드와 페이지 이동 패턴을 자동으로 찾아주는 Auto-detect
- 내장 브라우저를 통한 JavaScript 렌더링
- 인기 사이트용 사전 제작 템플릿 수백 개
- 사용자 지정 루프, 분기, 셀렉터가 가능한 편집형 workflow
- Excel, CSV, HTML, JSON, XML, Google Sheets, 데이터베이스로 내보내기(요금제에 따라 다름)
가격: 제한된 무료 플랜은 로컬 실행을 지원합니다. 클라우드 실행, 예약 작업, IP 로테이션, API 접근은 유료 플랜에서만 가능합니다. 구매 전 최신 제한은 꼭 확인하세요. 자주 바뀝니다.
어울리는 사용자: e-commerce 사이트, 디렉터리, 구인 게시판처럼 구조화된 데이터를 정기적으로, 코딩 없이 수집하고 싶은 초보자에게 좋습니다. 브라우저 확장처럼 간단한 방식이나 LLM용으로 바로 쓰기 좋은 출력이 중요하다면 다소 아쉬울 수 있습니다.
2. ParseHub

ParseHub는 Windows, macOS, Linux(AppImage)에서 설치할 수 있는 시각적 데이터 추출 도구입니다. 명령 트리 기반 인터페이스로 요소 선택, 클릭, 폼 입력, 스크롤, 페이지 템플릿을 표현할 수 있습니다. AJAX/JavaScript, 드롭다운, 탭, 팝업, 페이지네이션, 로그인 폼, 무한 스크롤도 지원합니다.
주요 기능:
- 다단계 추출 시나리오를 위한 시각적 명령 트리
- AJAX, JavaScript, 드롭다운, 탭, 무한 스크롤 지원
- Windows, macOS, Linux용 데스크톱 앱
- 데이터 프로그램 접근용 API
- CSV 및 JSON 내보내기
가격: 무료와 유료 플랜이 있습니다. 유료의 “page”는 단순한 URL일 수도 있고, 클릭이나 스크롤로 유발된 동적 로딩일 수도 있어서, 페이지 제한이 곧 URL 개수와 1:1로 맞지는 않습니다. 요금제를 고를 때는 프로젝트 수, 실행 횟수, 저장 기간 제한도 꼭 확인하세요.
개인정보 주의: 외부 크롤러에 실제 운영 계정 정보를 넣기 전에, 로그인 정보와 프로젝트 데이터가 어떻게 저장되는지 먼저 확인하세요. 테스트는 꼭 제한된 별도 계정으로 하는 게 안전합니다.
어울리는 사용자: 로그인, 드롭다운, 스크롤 로딩처럼 복잡한 탐색 구조가 있는 동적 다단계 사이트를 노코드로 파싱하고 싶은 초보자에게 잘 맞습니다.
ParseHub vs Octoparse: 핵심 차이
두 도구 모두 JavaScript를 처리하는 no-code 데스크톱 솔루션입니다. ParseHub의 명령 트리 방식은 다단계 시나리오에 더 명시적인 제어를 제공해 복잡한 탐색에 유리하지만, 단순 작업에서는 진입 장벽이 좀 더 높습니다. 반대로 Octoparse의 Auto-detect는 구조화된 사이트에서 더 빠르게 시작할 수 있고, 무료 플랜의 내보내기 한도도 더 여유로운 편입니다. 사이트가 주로 표와 리스트라면 Octoparse부터 시작하세요. 클릭 흐름, 폼 입력, 조건 분기까지 모델링해야 한다면 ParseHub가 더 직관적일 수 있습니다.
3. Thunderbit

Thunderbit는 사용자가 지금 보고 있는 페이지에서 바로 데이터를 뽑아내도록 만든 Chrome 및 Edge용 AI web scraping 확장 프로그램입니다. 기술적인 배경이 없는 비즈니스 사용자, 즉 화면에 떠 있는 데이터를 빠르게 구조화하고 싶은 사람을 위해 설계됐습니다. (완전한 고지는 드리자면, 저는 Thunderbit에서 일하고 있어서 장점과 한계를 둘 다 솔직히 말씀드릴 수 있습니다.)
주요 기능:
- AI Suggest Fields가 페이지 내용을 보고 컬럼을 자동 제안
- 필드 단위 AI 프롬프트로 추출 중 분류, 번역, 포맷, 정규화 지원
- Excel/CSV, Google Sheets, Airtable, Notion으로 내보내기
- Browser Mode는 현재 세션 안에서 동작하며, 호환되는 페이지에서는 JavaScript 로딩 콘텐츠도 처리 가능
- 브라우저 확장 프로그램 외 별도 설치 불필요
가격: 현재 무료 플랜은 월 6페이지, 페이지당 최대 30 크레딧을 제공합니다. Starter는 월 $15, 연간 결제 시 월 $9이며, 페이지네이션, 서브페이지 파싱, 대량 추출, enrichment, 준비된 크롤러, 스케줄 기능이 추가됩니다. 최신 가격은 여기서 확인하세요.
알아둘 제한: Thunderbit는 전체 도메인을 훑는 완전한 크롤러라기보다, 개별 페이지와 그 스키마에 초점을 둡니다. 페이지네이션과 서브페이지 추출은 Free가 아니라 Starter에서만 가능합니다. AI가 제안한 필드는 실행 전에 꼭 확인해야 합니다. 꽤 좋지만, 완벽하진 않습니다.
어울리는 사용자: 브라우저에서 이미 열어둔 페이지에서 구조화된 데이터를 빠르게 뽑아야 하는 sales, operations, research 팀에 잘 맞습니다. 호환되는 페이지에서 표나 목록, 여러 레코드를 빠르게 추출해 스프레드시트로 보내고 싶다면, 제가 아는 한 가장 빠른 방법 중 하나입니다.
AI-assisted extraction이 실제로 어떻게 작동하는지 더 보고 싶다면, AI web scraping 가이드를 참고하세요.
4. Crawl4AI

Crawl4AI는 LLM workflow에 바로 넣기 좋은 깔끔한 결과를 만들기 위해 설계된, 브라우저 중심의 open-source Python 크롤러입니다. raw/clean HTML, 여러 형태의 Markdown, 구조화된 추출 콘텐츠, 링크, 미디어, 표, 스크린샷, PDF, MHTML까지 다양하게 출력할 수 있습니다.
주요 기능:
- Chromium/Playwright 기반 AsyncWebCrawler
- RAG 파이프라인과 agent workflow에 맞춘 여러 출력 형식
- 충분성, 일관성, 포화도를 평가해 관련 링크를 우선 처리하고, 데이터가 충분하면 멈추는 적응형 크롤링
- Ollama 같은 로컬 제공자부터 클라우드 API까지 선택 가능한 LLM 추출
- Apache-2.0 라이선스와 추가 저작자 표시 요구
가격: 완전 open source입니다. 페이지당 과금은 없고, 인프라를 직접 호스팅하며 LLM을 쓴다면 그 추론 비용만 부담하면 됩니다.
제한사항: Python async에 대한 이해와 브라우저 의존성이 필요합니다. 추출 품질은 사용한 LLM에 따라 달라집니다. 적응형 크롤러는 충분성 신호를 바탕으로 관련 링크를 우선순위화할 뿐, 영구적으로 학습하거나 CSS 셀렉터를 자동 복구하지는 않습니다.
어울리는 사용자: 직접 제어권과 0원 수준의 벤더 페이지 비용을 원하는, Python 중급 사용자에게 적합합니다. 특히 AI 파이프라인을 만드는 경우에 잘 맞습니다.
5. Firecrawl

Firecrawl은 웹 데이터를 다루는 관리형 API이며, Python과 Node.js용 SDK를 제공합니다. AGPL 라이선스의 self-hosting 코드베이스도 따로 있습니다. 클라우드 서비스가 JavaScript 렌더링을 처리하고 Markdown, 요약, HTML, 링크, 이미지, 스크린샷, JSON, 변경 추적 결과를 돌려줍니다.
주요 기능:
- 경로 필터, 탐색 깊이, sitemap, 제한, 지연, concurrency 제어가 포함된
/crawl엔드포인트 - 관리형 클라우드에서 자동 JavaScript 렌더링
- 깔끔한 Markdown을 포함한 다양한 출력 형식
- 사이트 구조를 빠르게 파악하는
/map엔드포인트 - 다단계 상호작용을 위한 Browser/Interact와 beta agent 모드(기본 크롤링과는 별도)
가격: Cloud Free는 월 1,000 크레딧과 동시 요청 2개, 낮은 rate limit을 제공합니다. 유료 플랜은 크레딧과 concurrency 기준으로 나뉘니, 최신 수치는 가격 페이지를 확인하세요. self-hosting은 인프라와 유지보수를 직접 떠안는 대신, 관리형 클라우드의 모든 기능이 포함되지는 않습니다.
제한사항: 기본 /crawl은 링크와 sitemap을 통해 URL을 재귀적으로 찾지만, 클릭 기반 페이지네이션 같은 임의의 상호작용을 보장하지는 않습니다. 크레딧 비용은 작업 유형에 따라 다릅니다. self-hosted와 cloud의 기능도 서로 다릅니다.
어울리는 사용자: 사이트 콘텐츠를 LLM, 챗봇, 지식베이스에 넣고 싶고, 직접 browser stack을 운영하기보다 관리형 서비스를 선호하는 중급 사용자에게 잘 맞습니다.
Firecrawl vs. Crawl4AI: AI 파이프라인에는 무엇을 골라야 하나요?
Firecrawl은 깔끔한 API로 관리형 Markdown 변환을 하기 좋습니다. URL만 보내면 구조화된 결과를 바로 받을 수 있죠. 반면 Crawl4AI는 브라우저를 직접 제어하고 필요할 때 LLM을 붙일 수 있는 local-first 시나리오에 더 강합니다. 인프라 부담을 최소화하고 싶다면 cloud 버전 Firecrawl이 더 쉽습니다. 페이지당 비용 없이 완전한 self-hosting과 Python async 제어가 필요하다면 Crawl4AI가 더 많은 통제권을 줍니다.
6. Scrapy

Scrapy는 BSD 라이선스를 쓰는, 오래 검증된 Python 크롤링 및 파싱 프레임워크입니다. Twisted 기반의 비동기 엔진 위에서 동작하며, 요청 스케줄링, 링크 추적, 중복 제거, middleware, 재시도, throttling, pipeline, 그리고 JSON, JSON Lines, CSV, XML, pickle, marshal로의 feed export를 제공합니다.
주요 기능:
- 대규모이지만 범위가 명확한 크롤링에 적합한 비동기 요청 처리
- 프록시, retries, throttling, 커스텀 헤더를 위한 풍부한 middleware 생태계
- 데이터 정제와 저장을 위한 구조화된 pipeline 아키텍처
- 방대한 커뮤니티, 문서, 서드파티 확장
- 완전 open source(BSD 라이선스)
제한사항: JavaScript 렌더링이 네이티브로 들어있지 않습니다. 공식 동적 콘텐츠 가이드에서는 가능하면 원본 데이터 소스를 직접 찾거나, scrapy-playwright 같은 브라우저 렌더링 컴포넌트를 명시적으로 연결하라고 권장합니다. spiders, middleware, item pipelines, settings 구조는 배우는 데 분명 시간이 좀 걸립니다.
가격: 무료입니다. 직접 호스팅해야 합니다.
어울리는 사용자: 주로 정적이거나 서버 렌더링된 대규모 사이트를 Python으로 넓게 훑고 싶은 중급 사용자에게 적합합니다.
Scrapy 시작하기: 간단한 입문 예시
설치부터 첫 데이터까지의 최소 경로는 아래와 같습니다.
pip install scrapy
scrapy startproject beginner_crawl
cd beginner_crawl
scrapy genspider example example.com
beginner_crawl/spiders/example.py를 열고 아래처럼 수정하세요.
import scrapy
class ExampleSpider(scrapy.Spider):
name = "example"
allowed_domains = ["example.com"] # 이 도메인 안에서만 이동
start_urls = ["https://example.com"] # 시작 URL
custom_settings = {
"ROBOTSTXT_OBEY": True, # robots.txt 준수
"DOWNLOAD_DELAY": 2, # 요청 간 2초 대기
"CLOSESPIDER_PAGECOUNT": 10, # 10페이지 후 자동 종료(안전 장치)
"USER_AGENT": "Beginner-Crawl-Bot (+https://yoursite.com/bot-info)",
}
def parse(self, response):
yield {
"title": response.css("title::text").get(),
"url": response.url,
}
# 페이지 내 링크를 따라 이동(allowed_domains 안에서만)
for link in response.css("a::attr(href)").getall():
yield response.follow(link, callback=self.parse)
실행:
scrapy crawl example -o output.json
먼저 scrapy shell "https://example.com"로 셀렉터를 확인한 뒤, 그다음에 확장하세요. 설정 시간은 Python 경험에 따라 크게 달라집니다. virtual environments나 터미널이 익숙하지 않다면, 10분 안에 끝날 거라 기대하긴 어렵습니다.
7. Crawlee

Crawlee는 Apify가 지원하는 JavaScript/TypeScript 및 Python용 Apache 라이선스 크롤링 라이브러리입니다. HTTP-only 클래스(CheerioCrawler 등)와 Playwright/Puppeteer 기반 브라우저 크롤러, 요청 큐, 데이터셋, 세션 관리, 재시도, 부하 제한 도구를 함께 제공합니다.
주요 기능:
- 프로젝트별로 HTTP-first(CheerioCrawler) 또는 전체 브라우저(PlaywrightCrawler)를 선택 가능
- 내장 요청 큐, 중복 제거, 데이터셋 저장소
- 세션 관리, browser fingerprints, retries, 요청 경계 제어
- TypeScript 우선, Python도 지원
- HTML에 필요한 데이터가 이미 들어 있다면 HTTP-first 접근을 권장하는 공식 quickstart
가격: 무료입니다. open source, self-hosted입니다.
제한사항: JavaScript/TypeScript 또는 Python을 알아야 합니다. Scrapy보다 문서와 커뮤니티 자료가 적습니다. 안티블로킹 기능은 접근 권한을 보장하지 않습니다. 차단 위험을 낮춰줄 뿐, 허가받지 않은 크롤링을 정당화하지는 못합니다.
어울리는 사용자: 현대적인 SPA와 JavaScript-heavy 사이트를, 내장 큐와 안티블로킹 기능까지 갖춘 상태에서 크롤링하고 싶은 중급 JavaScript 개발자에게 적합합니다.
Crawlee 빠른 시작: 설치부터 첫 데이터까지
npx crawlee create my-crawler
cd my-crawler
설정 프롬프트가 나오면 Playwright 템플릿을 고르세요.
src/routes.ts의 핸들러를 수정해 필요한 데이터를 추출한 뒤, 실행합니다.
npm start
결과는 로컬 dataset 디렉터리에 JSON 형식으로 저장됩니다. 본격적으로 키우기 전에 maxRequestsPerCrawl, 깊이 제한, 단일 도메인 규칙, 적절한 concurrency 제한을 넣어두세요.
8. Playwright

Playwright는 Microsoft의 브라우저 자동화 프레임워크로, Apache 라이선스를 사용하며 Python, Node.js, Java, .NET을 지원합니다. Chromium, Firefox, WebKit 실제 브라우저를 직접 다루기 때문에 JavaScript로 콘텐츠가 로딩되거나 로그인, 복잡한 상호작용이 필요한 페이지에 특히 잘 맞습니다.
주요 기능:
- 세 가지 엔진의 실제 브라우저에서 네이티브 렌더링
- SPA, 로그인, 클릭, 폼 입력, 파일 업로드, 스크린샷, PDF 지원
- 여러 언어 지원(Python, JS/TS, Java, .NET)
- 뛰어난 문서와 활발한 개발
- 네트워크 가로채기와 요청 mocking
Playwright가 아닌 것: 완전한 크롤러는 아닙니다. 네이티브 URL 큐, 중복 제거, politeness policy, retries 모델, data-feed exporter가 없습니다. 이런 부분은 직접 만들거나, Crawlee처럼 이를 제공하는 프레임워크와 함께 써야 합니다.
가격: 무료입니다. open source입니다.
어울리는 사용자: JavaScript가 많은 사이트나 로그인 보호가 걸린 사이트에서 브라우저 상호작용을 자동화해야 하고, 그 위에 자신만의 크롤링 로직을 얹을 준비가 된 중급 개발자에게 적합합니다.
9. Screaming Frog

Screaming Frog SEO Spider는 Windows, macOS, Linux에서 쓸 수 있는 기술 SEO용 데스크톱 크롤러입니다. 범용 데이터 추출 도구가 아니라, 깨진 링크, 리다이렉트 체인, 중복 콘텐츠, 누락된 메타데이터, 그리고 수백 가지 기술 SEO 문제를 찾는 데 특화된 핵심 SEO 감사 도구입니다.
주요 기능:
- 한 번에 500 URL까지 무료로 사용 가능(평생 무료)
- 깨진 링크, 리다이렉트 체인, 중복 콘텐츠, 누락 메타데이터 탐지
- title, meta description, 헤딩, 이미지 등 세부 탭 제공
- 유료 버전은 JavaScript 렌더링, 크롤 저장, 커스텀 추출, GA/GSC 연동, AI 통합 (OpenAI, Gemini, Anthropic, Ollama) 추가
가격: 무료 버전은 500 URL 한도로 평생 사용 가능하지만, JavaScript 렌더링, 고급 설정, 커스텀 추출, 연동 기능은 없습니다. 라이선스는 사용자당 연간 £199 / $279 / €245입니다.
제한사항: SEO와 관계없는 사용자에게는 다소 복잡할 수 있습니다. 로컬 기기 자원을 사용하므로 큰 사이트에서는 메모리 병목이 생길 수 있습니다. 월 구독이 없고, 일반 데이터 추출용으로 설계된 도구도 아닙니다. 사이트 감사 도구에 가깝습니다.
어울리는 사용자: SEO 감사와 기술적 사이트 분석에 집중하는 초보자에게 좋습니다. 상품 데이터를 모으거나 리드 리스트를 만들려는 목적이라면 다른 도구를 보는 편이 낫습니다.
10. Colly

Colly는 Go로 만든 HTTP 크롤링 및 파싱 프레임워크로, Apache 라이선스, callback 기반 API, concurrency 관리, 세션/cookies, 큐, 캐싱, 교체 가능한 backend 저장소를 제공합니다.
주요 기능:
- 낮은 자원 소비로 빠른 병렬 HTTP 크롤링
- callback 기반의 깔끔한 API
- cookies/sessions 및 캐싱 지원
- LimitRule을 통한 도메인 수준 속도 제한
- 설치는
go get github.com/gocolly/colly/v2
초보자에게 중요한 경고: Colly의 현재 소스 코드는 기본적으로 IgnoreRobotsTxt = true로 설정됩니다. 따라서 이 값을 false로 명시적으로 바꾸고, 원하는 지연과 병렬성에 맞게 LimitRule도 설정해야 합니다. 그렇지 않으면 robots.txt를 무시하게 되고, 대상 서버에 과부하를 줄 수 있습니다.
가격: 무료입니다. open source입니다.
제한사항: Go 지식이 필요합니다. JavaScript 렌더링이 없고, 범용 feed exporter도 없어서 출력은 직접 직렬화해야 합니다. Python 도구들보다 커뮤니티 규모도 작은 편입니다.
어울리는 사용자: Go를 알고 있고, robots와 rate limit을 명확히 설정한 상태에서 정적 사이트나 API를 빠르고 가볍게 HTTP 크롤링하고 싶은 advanced beginner에게 맞습니다.
무료 플랜 비교: 실제로 공짜로 어디까지 가능한가
예산을 따지는 초보자를 위한 표입니다. 아래 도구들은 두 부류로 나뉩니다. 하나는 제한은 있지만 인프라 비용이 없는 freemium 제품, 다른 하나는 페이지 제한은 없지만 인프라를 전부 직접 운영해야 하는 open-source 도구입니다.
Freemium / 무료 데스크톱 플랜
| 도구 | 무료 플랜 제한 | 프로젝트/작업 제한 | 내보내기 제한 | 시간 제한이 있나? | 핵심 잠금 요소 |
|---|---|---|---|---|---|
| Octoparse | 한 번 크롤링당 페이지 수 무제한 | 10개 작업 | 내보내기 1만 행; 월 5만 행 | 없음(평생) | Cloud, 예약, IP 로테이션, API |
| ParseHub | 실행당 200페이지 | 공개 프로젝트 5개 | CSV/JSON | 없음(평생) | 프로젝트/데이터가 공개일 수 있음; 보관 14일 |
| Thunderbit | 월 6페이지 | N/A | Excel/CSV, Sheets, Airtable, Notion | 없음(평생) | 페이지네이션, 서브페이지, bulk, 예약은 Starter |
| Firecrawl | 월 1,000 크레딧 | N/A | 모든 형식 | 없음(평생) | 동시 요청 2개; 낮은 rate limits |
| Screaming Frog | 한 번 크롤링당 500 URL | 실행 횟수 무제한 | 제한된 내보내기 | 없음(평생) | JS 렌더링, 크롤 저장, 커스텀 추출, 연동 |
Open-source 도구(self-hosted)
| 도구 | 페이지 제한 | 라이선스 | 비용이 드는 것 |
|---|---|---|---|
| Scrapy | 없음 | BSD | 컴퓨팅, 트래픽, 저장공간, 선택적 브라우저 연동 |
| Crawlee | 없음 | Apache | 컴퓨팅, 트래픽, 브라우저 프로세스 |
| Crawl4AI | 없음 | Apache-2.0 + 저작자 표시 | 컴퓨팅, 브라우저 프로세스, 선택적 LLM 추론 |
| Playwright | 없음 | Apache | 컴퓨팅, 브라우저 프로세스(CPU/메모리 부담 큼) |
| Colly | 없음 | Apache | 컴퓨팅, 트래픽 |
소프트웨어 예산이 0원이고 코딩이 가능하다면, open-source 도구들은 벤더의 페이지 제한에서 벗어나게 해줍니다. 다만 인프라 비용, 대상 사이트의 제약, 운영 비용은 그대로 남습니다. 코드를 못 짠다면 Octoparse, ParseHub, Thunderbit가 무료 진입로가 됩니다. 단, 각자 제한과 개인정보 조건은 꼭 확인하세요.
첫 10분: 3가지 실력 수준별 빠른 시작

이론도 중요하지만, 결국 실전이 더 중요합니다. 아래에서는 각 수준별로 하나씩, 세 도구에서 “처음부터 첫 내보내기까지” 어떻게 가는지 보여드리겠습니다.
노코드 경로: Thunderbit 시작하기
- Thunderbit 브라우저 확장 프로그램을 설치합니다
- 대상 페이지를 엽니다(예: 상품 목록, 디렉터리, 검색 결과 페이지)
- Thunderbit 아이콘을 누르고 AI Suggest Fields를 선택합니다. AI가 페이지 내용을 보고 컬럼을 자동으로 잡아줍니다
- 제안된 필드를 확인하고 수정합니다(이름 바꾸기, 삭제, 컬럼 추가, 필요하면 분류/포맷용 Field AI Prompts 추가)
- Scrape를 누릅니다
- 확장 프로그램 안에서 결과를 확인한 뒤, Excel, Google Sheets, Airtable, Notion으로 내보냅니다
호환되는 페이지라면, 이 과정은 “프로그램 개발”이라기보다 짧은 설정 작업에 가깝습니다.
더 자세한 내용은 Thunderbit로 웹페이지에서 데이터 추출하기 가이드를 참고하세요.
Python 초보자 경로: Scrapy 시작하기
위의 Scrapy 섹션에 있는 주석 달린 quickstart를 참고하세요. 핵심은 pip install scrapy, scrapy startproject, spider 수정, ROBOTSTXT_OBEY = True와 DOWNLOAD_DELAY 설정, 그리고 scrapy crawl example -o output.json 실행입니다. 본격적으로 키우기 전에 scrapy shell에서 셀렉터를 확인하세요. 걸리는 시간은 Python 설정 경험에 따라 달라집니다.
JavaScript 경로: Crawlee 시작하기
위의 Crawlee quickstart를 참고하세요. npx crawlee create my-crawler를 실행하고 Playwright 템플릿을 고른 뒤, 핸들러를 수정하고 npm start를 실행하면 됩니다. 결과는 로컬 dataset 디렉터리에 JSON으로 저장됩니다. 본격 운영 전에는 maxRequestsPerCrawl과 도메인 제한을 꼭 넣어두세요.
Python으로 크롤러 프로젝트 구조를 더 길게 따라가고 싶다면, 아래 강의가 도움이 됩니다.
초보자가 첫 크롤을 망치는 5가지 실수와 예방법

포럼에서는 정말 자주 보이는데, 상위권 글들에서는 의외로 따로 다루지 않는 실수들입니다.
실수 1: JavaScript 렌더링 사이트에 HTTP-only 크롤러를 쓰는 것
문제: 요즘 사이트는 첫 HTML 응답 뒤에 JavaScript로 데이터를 불러오는 경우가 많습니다. 일반 HTTP 요청은 데이터가 비어 있는 <div>만 있는 골격 페이지를 돌려줄 수 있습니다.
해결 방법: 도구를 고르기 전에 대상 페이지를 열고 우클릭해서 View Source를 확인하세요. 원본 HTML에 필요한 데이터가 없다면, Playwright, Crawlee의 PlaywrightCrawler, 혹은 Thunderbit/Octoparse처럼 브라우저 렌더링을 하는 도구가 필요합니다. 반대로 HTTP만으로 충분한데 굳이 브라우저를 고를 필요는 없습니다. 비용과 복잡도만 올라갑니다.
실수 2: robots.txt와 Crawl-Delay 규칙을 무시하는 것
문제: robots.txt는 어떤 crawler token이 어떤 경로에 접근할 수 있는지 알려주는 표준입니다. 사이트의 크롤링 정책을 무시하면 차단, 운영상 피해, 규정 위반 위험이 생길 수 있습니다.
해결 방법: 크롤링 전에 항상 yoursite.com/robots.txt를 확인하고, 선택한 도구의 기본 동작을 정확히 알아두세요. 기본값은 도구마다 다릅니다. 예를 들어 Colly는 IgnoreRobotsTxt = true로 시작하므로 직접 설정을 바꿔야 합니다. 또한 robots.txt는 크롤링 관리 신호일 뿐, 법적 허가가 아닙니다. 허용 경로라고 해서 어떤 목적으로든 수집·사용해도 된다는 뜻은 아닙니다.
실수 3: rate limiting 없이 너무 많은 요청을 보내는 것
문제: 초당 수백 개 요청을 보내면 서버에 부담을 주고 IP가 차단될 수 있으며, 일반적으로도 좋은 습관이 아닙니다.
해결 방법: 반드시 지연 시간을 주세요. Scrapy에서는 DOWNLOAD_DELAY = 2와 낮은 CONCURRENT_REQUESTS_PER_DOMAIN을 사용하세요. Colly에서는 LimitRule로 지연과 병렬성을 조정합니다. 클라우드나 노코드 도구는 보통 자동으로 처리하지만, 그래도 설정을 확인하세요. 처음에는 도메인당 동시 요청 1개로 시작하고, 사이트와 규칙이 허용할 때만 서서히 늘리세요.
실수 4: 작은 프로젝트에 엔터프라이즈급 도구를 고르는 것
문제: 500페이지짜리 프로젝트에 분산 Scrapy 클러스터, 프록시 로테이션, 메시지 큐까지 올리는 건 장보러 가는데 트럭을 빌리는 것과 비슷합니다.
해결 방법: 다시 결정 트리로 돌아가세요. 도구의 복잡도를 프로젝트 규모에 맞추는 게 핵심입니다. 작은 일회성 작업이라면 브라우저 확장이나 단순 스크립트가 거의 항상 더 낫습니다.
실수 5: 추출한 데이터의 품질을 확인하지 않는 것
문제: 초보자들은 내보내기만 해놓고 검증을 안 해서, 나중에 가서 행이 비어 있거나, 중복되거나, 깨져 있다는 걸 뒤늦게 발견하곤 합니다.
해결 방법: 전체 크롤링 전에 항상 처음 10~20행을 수동으로 확인하세요. 빈 필드, 인코딩 문제(mojibake), 중복, 예상 밖의 값이 있는지 봐야 합니다. 시작 전에 기대하는 스키마를 정해두세요. 어떤 컬럼이 있어야 하는지, 어떤 데이터 타입을 기대하는지, 필수 필드는 무엇인지 미리 정해야 합니다. 크롤이 성공적으로 끝났다고 해서 데이터가 올바르다는 뜻은 아닙니다.
“LLM-ready output”이란 무엇이고, AI를 만들지 않아도 왜 중요한가
2026년에는 크롤러 마케팅 어디서나 “LLM-ready”라는 말을 보게 됩니다. 그런데 설명은 보통 이미 vector database가 뭔지 아는 사람을 전제로 하죠. 여기서는 아주 쉽게 풀어보겠습니다.
LLM-ready output은 GPT나 Claude 같은 AI 모델이 별도 정리 없이 바로 쓸 수 있는, 깨끗하고 구조화된 텍스트입니다. 쉽게 말해, 잘 정리된 표와 광고, 내비게이션 메뉴, 쿠키 배너가 덕지덕지 붙은 웹페이지 더미의 차이라고 보면 됩니다.
챗봇을 만들지 않아도 왜 중요할까요? LLM-ready output을 염두에 둔 도구는 대체로 모든 사람에게 더 깔끔하고 쓰기 좋은 데이터를 줍니다. 후처리가 적고, 잡스러운 컬럼이 적고, 인코딩 문제가 적습니다. 결국 깨끗한 데이터는 누구에게나 깨끗한 데이터입니다. 사람이 보든, 머신이 읽든 마찬가지예요.
이 목록에서 네이티브로 LLM-ready output을 주는 도구는?
- Firecrawl → 깔끔한 Markdown, 요약, 구조화된 JSON
- Crawl4AI → 여러 Markdown 형태, 구조화된 조각, 표
- Thunderbit → AI가 제안한 구조화 필드와 프롬프트 기반 정규화
아래는 간단한 before/after 예시입니다. 상품 페이지의 raw HTML은 이렇게 생겼을 수 있습니다.
<div class="product-card">
<span class="price">$29.99</span>
<h2 class="title">Wireless Mouse</h2>
<p class="desc">Ergonomic design, 2.4GHz...</p>
<a href="/buy" class="btn">Add to Cart</a>
</div>
Firecrawl의 LLM-ready Markdown 출력:
## Wireless Mouse
- **Price:** $29.99
- **Description:** Ergonomic design, 2.4GHz
Thunderbit의 구조화 출력:
| 상품명 | 가격 | 설명 |
|---|---|---|
| Wireless Mouse | $29.99 | Ergonomic design, 2.4GHz |
두 방식 모두 바로 사용할 수 있습니다. HTML 파싱도, 광고 잘라내기도, 컬럼 매칭도 필요 없습니다. AI 기반 추출이 기존 파싱과 어떻게 다른지 더 보고 싶다면, 최고의 AI web scrapers 비교 글을 참고하세요.
책임 있는 웹 크롤링: 윤리와 규정 준수를 위한 짧은 팁
웹 크롤링에서는 윤리와 규정 준수를 절대 가볍게 넘기면 안 됩니다.
- 크롤링 전에 robots.txt를 확인하세요. 이것은 크롤링 관리 표준(RFC 9309)이지만, 법적 허가도 아니고 보안 경계도 아닙니다.
- rate limit과 Retry-After 헤더를 지키세요. 429나 503 응답이 오면 속도를 늦추거나 멈추세요.
- 공개되었거나 허용된 데이터만 사용하세요. 공식 API나 내보내기가 있으면 그쪽을 우선 선택하세요.
- 사이트 이용약관을 읽으세요. 공개되어 있다고 해서 수집이나 재사용이 자동으로 허용되는 건 아닙니다.
- 개인정보를 고려하세요. 수집을 최소화하고, 보관 및 삭제 규칙을 정해두며, 민감한 경우에는 반드시 적절한 법률 검토를 받으세요. GDPR 같은 규정은 도구와 무관하게 적용됩니다.
많은 도구가 책임 있는 크롤링을 돕는 설정을 제공하지만, 최종 책임은 여전히 운영자에게 있습니다. 더 자세한 내용은 web scraping이란 무엇인가 글에서 확인할 수 있습니다.
어떤 웹 크롤러부터 시작해야 할까?
실력 수준별로 아주 짧게 정리하면 이렇습니다.
- 노코드: 페이지 단위 AI 보조 추출은 Thunderbit, 시각적 workflow는 Octoparse, 복잡한 다단계 시나리오는 ParseHub, SEO 감사는 Screaming Frog
- Python 중급: 대규모 HTTP 크롤링은 Scrapy, LLM 파이프라인은 Crawl4AI
- JavaScript 중급: 최신 SPA 크롤링은 Crawlee, 복잡한 브라우저 자동화는 Playwright
- Go: 빠른 HTTP 크롤링은 Colly(robots와 rate limit 설정은 필수)
- 관리형 API: self-hosting 없이 깔끔한 Markdown이 필요하면 Firecrawl
가장 좋은 크롤러는 여러분의 데이터, 접근 권한, 실력 수준, 운영 제약에 맞는 도구입니다. 일단 단순한 것부터 시작하고, 작은 테스트를 먼저 돌린 다음, 프로젝트에 꼭 필요할 때만 복잡도를 올리세요. AI-assisted extraction을 직접 써보고 싶다면, Thunderbit 브라우저 확장 프로그램으로 호환되는 페이지에서 표까지 가는 노코드 경로를 바로 체험할 수 있습니다.
더 알아보기
자주 묻는 질문
1. 웹 크롤러와 웹 스크래퍼는 어떻게 다른가요?
크롤러는 페이지를 찾고 불러옵니다. 링크를 따라가고, URL 큐를 관리하고, 중복 제거와 깊이 제한도 처리합니다. 스크래퍼는 그 페이지에서 구체적인 구조화 데이터를 뽑아냅니다. HTML을 분석하고, 필드를 선택하고, 레코드를 만듭니다. 요즘 도구들은 대체로 둘 다 어느 정도 하므로, 용어가 종종 섞여 쓰입니다. 하지만 도구를 고를 때 차이는 중요합니다. 예를 들어 Playwright는 페이지 렌더링은 훌륭하지만 크롤링 인프라는 제공하지 않고, Scrapy는 완전한 크롤 파이프라인을 제공하지만 JavaScript 렌더링용 플러그인이 필요합니다.
2. 프로그래밍을 못하는 사람에게 가장 좋은 웹 크롤러는 무엇인가요?
Thunderbit, Octoparse, ParseHub가 일반 데이터 추출에 가장 좋은 no-code 옵션입니다. Thunderbit는 AI로 필드를 제안하고 브라우저 확장처럼 동작합니다. Octoparse는 Auto-detect가 있는 시각적 workflow 빌더를 제공합니다. ParseHub는 복잡한 다단계 시나리오에 특히 강합니다. SEO만 다룬다면 무료 Screaming Frog로 500 URL까지 코딩 없이 크롤링할 수 있습니다.
3. 웹 크롤러는 무료인가요?
두 가지가 있습니다. Scrapy, Crawlee, Crawl4AI, Playwright, Colly 같은 완전 open-source 도구는 페이지당 비용이 없지만, 인프라는 직접 호스팅하고 컴퓨팅, 트래픽, 저장공간은 부담해야 합니다. Octoparse, ParseHub, Thunderbit, Firecrawl, Screaming Frog 같은 freemium 도구는 무료 플랜이 있지만, 페이지 수, 프로젝트 수, 내보내기, 기능에 제한이 있습니다. 자세한 내용은 위의 무료 플랜 비교 표를 보세요.
4. 웹 크롤러는 JavaScript가 많은 사이트도 처리하나요?
네, 하지만 전부는 아닙니다. Playwright, Crawlee(PlaywrightCrawler), Octoparse, ParseHub, Crawl4AI, 그리고 Thunderbit(Browser Mode)처럼 브라우저 렌더링이 내장된 도구는 JavaScript 로딩 콘텐츠를 처리할 수 있습니다. Scrapy와 Colly는 HTTP-first 중심이라 JS 렌더링에는 별도 브라우저 연동이 필요합니다. Screaming Frog는 유료 버전에서만 JavaScript 렌더링을 지원합니다. 대상 사이트가 브라우저를 꼭 필요로 하는지는 먼저 원본 HTML을 확인해보세요.
5. 웹 크롤링은 합법인가요?
단순히 “예/아니오”로 답할 수 있는 문제는 아닙니다. 법적 판단은 데이터 종류, 접근 방식, 사용 목적, 사이트 약관, 계약, 지적재산권, 개인정보 규정(GDPR 등), 적용 관할에 따라 달라집니다. robots.txt는 크롤링 관리 신호일 뿐 법적 허가가 아니고, 공개되어 있다고 해서 자동으로 어떤 목적의 수집도 허용되는 것은 아닙니다. 특히 개인정보, 저작권 보호 콘텐츠, 인증이 필요한 데이터, 상업적 재사용과 관련된 상황이라면 반드시 자격 있는 변호사와 상담하세요.


