이 튜토리얼에서는 다음을 배웁니다:
- Botright의 정의와 작동 방식
- 웹 스크래핑에 활용하는 방법
- Botright로 CAPTCHA를 해결하는 단계별 가이드
- 스크래핑 워크플로우에서 CAPTCHA 해결을 위한 Botright 대안
- 이 라이브러리의 한계점과 극복 방법
자, 시작해 보겠습니다!
Botright란 무엇인가?
Botright는 브라우저 상호작용을 자동화하고 웹사이트에서 데이터를 추출하기 위한 오픈소스 Python 웹 스크래핑 프레임워크입니다. 브라우저 자동화 및 스텔스 기술을 활용하여 실제 사용자 행동을 모방합니다. 이로 인해 동적 웹사이트 및 Cloudflare와 같은 봇 방지 시스템으로 보호되는 사이트를 스크래핑하는 데 효과적입니다.
Playwright를 기반으로 하며 머신러닝 모델을 활용해 CAPTCHA 우회를 지원합니다. CAPTCHA는 봇 차단이라는 목표를 달성하기 위해 인간에게는 쉽게 풀리지만 자동화된 스크립트에는 어렵게 설계되었습니다. 그럼에도 일부 머신러닝 모델은 이를 능가할 만큼 강력합니다.
👍 장점:
- 봇 차단 시스템우회: Botright는 봇 차단 시스템을 우회하도록 특별히 설계되었습니다. 브라우저 지문 변경, 실제 또는 수정된 브라우저 엔진 사용, 인간과 유사한 상호작용 시뮬레이션 등의 기능을 통해 이를 달성합니다.
- 내장형 CAPTCHA 해결: 일반적인 CAPTCHA를 해결하기 위한 내장형 머신 러닝 기능을 제공합니다.
- 동적 콘텐츠 처리: 브라우저 자동화 도구로서 자바스크립트 중심 웹사이트 및 동적 콘텐츠 로딩을 처리합니다.
👎 단점:
- 많은 종속성: CAPTCHA 해결 기능을 구현하기 위해 수학, 머신러닝, 고급 상호작용 라이브러리에 의존합니다. 이로 인해 전체 설치 크기가 몇 GB에 이를 수 있습니다.
- 진화하는 봇 방지 환경: 웹사이트가 봇 탐지 기술과 CAPTCHA를 업데이트함에 따라 모든 탐지 회피 라이브러리의 효과는 시간이 지남에 따라 감소할 수 있습니다.
- 유지보수 부족: 라이브러리가 자주 업데이트되지 않으며, 작동시키려면 구버전 파이썬과 수동 조정 작업이 필요합니다.
웹 스크래핑을 위한 Botright 사용 방법
Botright는 Playwright를 기반으로 구축되었음을 기억하세요. 따라서 초기화 후 기본 Playwright가 제공하는 웹 스크래핑용 API를 사용할 수 있습니다:
import asyncio
import botright
async def main():
# Botright 브라우저 인스턴스 생성
botright_client = await botright.Botright()
browser = await botright_client.new_browser()
# 새 페이지 인스턴스 생성
page = await browser.new_page()
# 대상 페이지 방문
await page.goto("https://example.com")
# Playwright API를 이용한 스크래핑 로직...
# Botright 브라우저 인스턴스 닫기
await botright_client.close()
# 스크래퍼 함수 실행
if __name__ == "__main__":
asyncio.run(main())
Botright는 비동기 모드에서만 사용 가능하므로 asyncio를 통해 사용해야 합니다.
Botright에서 브라우저 초기화 후 Playwright API를 사용하여 웹 스크래핑을 수행할 수 있습니다.
Botright로 CAPTCHA 해결하는 방법: 단계별 가이드
Botright의 진정한 강점은 CAPTCHA를 해결하는 능력입니다. 공식 GitHub 페이지에 따르면, 다음과 같은 CAPTCHA를 해결할 수 있습니다:
| 캡차 유형 | 해결 가능 | 성공률 |
|---|---|---|
| hCaptcha | hcaptcha-challenger |
최대 90% |
| reCaptcha | reCognizer |
50%에서 80%까지 |
| v3 지능형 모드 | Botright의 은밀성 | 100% |
| v3 슬라이더 캡차 | cv2.matchTemplate |
100% |
| v3 나인 캡차 | CLIP 감지 | 50% |
| v3 아이콘 캡차 | cv2.matchTemplate / SSIM / CLIP |
70 |
| v4 지능형 모드 | Botright의 은밀성 | 100% |
| v4 슬라이더 캡차 | cv2.matchTemplate |
100 |
| v4 GoBang Captcha | 수학 계산 | 100% |
| v4 아이콘 Captcha | cv2.matchTemplate / SSIM / CLIP |
60% |
| v4 아이콘 크러쉬 보안 문자 | 수학 계산 | 100 |
이 안내 섹션에서는 Botright로 Google reCAPTCHA를 해결하는 방법을 보게 됩니다. 목표를 달성하려면 아래 단계를 따르세요!
필요 사항
이 튜토리얼을 재현하려면 다음 사전 조건을 충족해야 합니다:
- Python 3.10.11 설치 완료.
- 최신 버전의
pip.
참고: 최신 버전의 Python은 Botright와 호환되지 않습니다. 따라서 시스템에 3.10.11 이하 버전이 설치되어 있어야 합니다.
1단계: 프로젝트 설정 및 Botright 설치
이 섹션이 끝날 때, 프로젝트 폴더를 나타내는 botright_project/ 에는 다음이 포함됩니다:
botright_project/
├── scaper.py
└── venv/
여기서:
scraper.py는Botright CAPTCHA 해결 로직이 포함된 Python 파일입니다.venv/는Python 3.10 가상 환경입니다.
Windows에서는 다음과 같이 Python 3.10 가상 환경 디렉터리 venv/ 를 생성할 수 있습니다:
py -3.10 -m venv venv
활성화하려면 다음을 실행하세요:
venvScriptsactivate
Linux에서는 다음과 같이 실행합니다:
python3.10 -m venv venv
그런 다음 다음 명령으로 활성화하세요:
source venv/bin/activate
활성화된 가상 환경에서 pip를 최신 버전으로 업그레이드합니다:
python -m pip install --upgrade pip
그런 다음 Botright를 설치합니다:
pip install botright --use-pep517
pip install hcaptcha_challenger==="0.10.1.post2"
참고:
--use-pep517 옵션은pyproject.toml파일에 의존하는 모든 레거시 종속성이 올바르게 설치되도록 하기 위해 필수입니다.- Botright 최신 버전 출시 이후
hcaptcha_challenger는크게 발전했습니다. 구체적으로, 최신 버전의hcaptcha_challenger는Botright가 내부적으로 호출하는 메서드를 더 이상 노출하지 않습니다. 따라서 라이브러리가 작동하도록 특정 버전을 설치해야 합니다.
훌륭합니다! 이제 Botright로 CAPTCHA를 해결할 수 있는 환경이 설정되었습니다.
2단계: CAPTCHA 해결 로직 정의
Botright로 CAPTCHA를 해결하려면 scraper.py 파일에 다음 코드를 작성하세요:
import asyncio
import botright
async def scraper():
# Botright 인스턴스 시작
botright_client = await botright.Botright(headless=True)
browser = await botright_client.new_browser()
# 새 페이지 인스턴스 생성
page = await browser.new_page()
# reCAPTCHA 데모가 있는 대상 웹 페이지 열기
await page.goto("https://www.google.com/recaptcha/api2/demo")
# CAPTCHA 해결
await page.solve_recaptcha()
# 해결된 CAPTCHA를 캡처하기 위해 페이지 스크린샷 찍기
await page.screenshot(path="screenshot.png")
# botright 브라우저 인스턴스 닫기
await botright_client.close()
# 스크레이퍼 함수 실행
if __name__ == "_main_":
asyncio.run(scraper())
위 코드:
new_browser()메서드를 사용하여 헤드리스 모드에서 Botright 브라우저 인스턴스를 시작합니다. 이는 Chromium의 특수 버전으로 은밀한 실행에 최적화되어 있습니다.- 새 페이지 인스턴스를 생성하고 reCAPTCHA 데모 페이지를 엽니다.
solve_recaptcha()메서드로 CAPTCHA를 해결합니다.- 해결된 CAPTCHA의 스크린샷을 생성하고 브라우저 인스턴스를 닫습니다.
참고: 다른 유형의 CAPTCHA를 해결하는 데 필요한 지원 메서드는 문서의 “Captcha Solving” 섹션을 참조하세요.
완벽합니다! Botright로 reCAPTCHA를 해결하는 로직을 작성하셨습니다.
3단계: 코드 실행
다음 명령어로 코드를 실행하세요:bash python scraper.py
헤드리스 모드(headless=False)로 스크립트를 실행하면 다음과 같은 화면이 표시됩니다:

Botright 스크립트가 생성한 screenshot.png 파일에는 다음과 같은 내용이 포함됩니다:

결국 스크립트는 모든 이미지를 감지하고 CAPTCHA를 자동으로 해결해야 합니다. 그러나 정확도가 100% 보장되지 않으므로 가끔 실패할 수 있습니다. 이 경우 성공할 때까지 스크립트를 계속 실행하세요. 실제 운영 환경에서는 자동 재시도 로직을 구현해야 합니다.
보시다시피 Botright는 머신러닝 모델과 자동화된 인간 통합 도구를 결합하여 다음과 같은 작업을 수행합니다:
- CAPTCHA가 요구하는 내용을 이해하고
- 필요한 기준에 부합하는 이미지 탐지
- 인간이 하듯 해당 이미지를 클릭
임무 완료!
CAPTCHA 해결을 위한 Botright 대안
대부분의 봇에 대해서도 CAPTCHA는 효과적입니다. 일반 사용자의 경험을 방해할 수 있지만, 현대식 CAPTCHA는 AI 스크레이퍼 및 크롤러에 대한 주요 방어 수단 중 하나로 남아 있습니다. 대부분의 웹사이트가 증가하는 AI 봇 트렌드로부터 페이지와 데이터를 보호하고자 하기 때문에 CAPTCHA는 점점 더 대중화되고 있습니다.
이제 CAPTCHA를 해결할 수 있는 도구는 Botright만이 아닙니다. 스크래핑 중 CAPTCHA를 우회해야 한다면, 다음과 같은 대체 라이브러리와 접근법을 고려해 보세요:
- Puppeteer로 CAPTCHA 우회하는 방법
- 파이썬에서 셀레니움으로 CAPTCHA 우회하는 방법
- Playwright로 CAPTCHA 우회하는 방법
- 2026년 SeleniumBase를 이용한 웹 스크래핑 가이드
- 웹 스크래핑을 위한 Undetected ChromeDriver 사용법
- 2026년 최고의 CAPTCHA 프록시 5가지
웹 스크래핑에서 Botright 사용의 한계
Botright는 웹 스크래핑에서 CAPTCHA 해결에 상당히 효과적인 도구이지만 완벽하지는 않습니다. 이 라이브러리는 기계 학습 기반 방법을 사용하는데, 항상 일관된 결과를 내지 못합니다. 또한 다소 구식이며 자주 유지보수되지 않습니다.
이는 현대 CAPTCHA가 점점 더 복잡해지고 있다는 점을 고려할 때 특히 큰 문제입니다. 결과적으로 Botright의 기반이 되는 머신 러닝 모델은 최신 상태를 유지하기 위해 정기적인 업데이트가 필요합니다.
요약하자면, Botright가 현대식 CAPTCHA를 해결할 것이라고 기대하지 마십시오. 특히 hCaptcha에서 제공하는 것과 같은 새로운 퍼즐 기반 CAPTCHA에 직면했을 때 더욱 그렇습니다:

앞서 소개한 영상 결과(3배속 녹화)에서 보듯, Botright의 처리 속도는 특별히 빠르지 않습니다. 그 이유는 reCAPTCHA가 제시하는 각 새 이미지를 분석하고 클릭할 올바른 이미지를 결정하는 데 많은 컴퓨팅 자원을 소모하기 때문입니다. 실제 환경에서 Botright는 reCAPTCHA 한 개를 해결하는 데 최대 15초가 소요될 수 있습니다. 이는 대규모 스크래핑 작업에는 지나치게 긴 시간입니다.
게다가 Botright는 Playwright를 기반으로 하기 때문에 브라우저 자동화 도구의 전형적인 모든 한계점을 안고 있습니다. 여기에는 헤드리스 모드에서의 브라우저 지문 인식 문제와 높은 자원 소모가 포함됩니다.
브라우저 자동화를 기반으로 한 스크래핑 워크플로우에서 더 빠르고 일관된 CAPTCHA 해결을 위해서는 웹 스크래핑에 최적화된 클라우드 기반 브라우저를 사용하는 것이 더 나은 선택입니다. 그 해결책이 바로 Scraping Browser입니다.
Scraping Browser는 내장된 안티봇 우회 기능, 자동 IP 로테이션, 브라우저 지문 인식 보호, 재시도 메커니즘, 그리고 물론 CAPTCHA 해결 기능을 제공하는 클라우드 스크래핑 브라우저입니다.
특히 reCAPTCHA, hCaptcha, px_captcha, SimpleCaptcha, GeeTest CAPTCHA, FunCaptcha, Cloudflare Turnstile, AWS WAF Captcha, KeyCAPTCHA 등 다양한 CAPTCHA를 처리할 수 있습니다.
결론
이 글에서는 Botright가 웹 스크래핑을 위해 CAPTCHA를 해결하기 위해 브라우저 자동화와 머신 러닝을 어떻게 활용하는지 알아보았습니다. 유연한 봇 방지 기능을 제공하지만, Botright는 느린 성능, 높은 리소스 소비, 구식 의존성, 일관성 없는 결과라는 문제점을 가지고 있습니다.
대규모로 CAPTCHA를 극복하기 위한 더 빠르고 쉬운 솔루션이 필요한 기업 및 팀을 위해 Bright Data는 Botright의 오픈소스 접근 방식을 훨씬 뛰어넘는 여러 고급 제품을 제공합니다:
- CAPTCHA Solver: 다양한 CAPTCHA 유형(reCAPTCHA, hCaptcha, Cloudflare 등 포함)을 지원하며, 무거운 로컬 의존성 없이 높은 성공률을 제공하는 엔터프라이즈급 솔버입니다.
- 스크래핑 브라우저: 자동 IP 로테이션, 내장형 봇 방지 기능, 원활한 CAPTCHA 해결 기능을 갖춘 스크래핑 전용 클라우드 기반 브라우저로, 효율성과 안정성을 위해 클라우드에서 관리됩니다.
- 웹 언락커: 가장 까다로운 봇 방지 및 CAPTCHA 문제를 처리하도록 설계된 차세대 언락 엔진으로, 모든 사이트 요청에 대해 수동 개입 없이 최적의 접근 방식을 자동 선택합니다.
- 프록시 서비스: 세계 최대 규모의 프록시 풀(주거용, 데이터 센터용, 모바일용)에 액세스하여 지역 제한을 우회하고 익명성을 높일 수 있습니다. 대량 또는 분산 스크래핑 프로젝트에 필수적입니다.
- 스크레이퍼 API: 대규모 구조화된 웹 데이터 추출을 위한 도구로, 모든 요청에 차단 방지 및 CAPTCHA 해결 기능이 내장되어 있으며 직관적인 관리 대시보드를 제공합니다.
Bright Data를 사용하면 복잡한 웹사이트도 스크래핑할 수 있으며, 엔지니어링 리소스를 절약하고 업계 모범 사례 준수를 보장할 수 있습니다. 지금 무료 체험을 시작하세요!