현대 웹 크롤링을 위한 적응형 프레임워크로, 반지능적 요소 추적과 안티봇 우회를 지원합니다
중간맛 분석
Python 기반의 웹 스크래핑 프레임워크로, Playwright 브라우저 자동화와 HTTP 요청을 모두 지원합니다. 여러 Fetcher 클래스(Fetcher, StealthyFetcher, DynamicFetcher)와 Scrapy 스타일의 Spider 아키텍처로 확장성을 제공합니다. 동시 크롤링(concurrent_requests), 세션 관리, 프록시 로테이션, 일시 중지/재개 체크포인트, 개발 모드(응답 캐싱) 등을 포함합니다. 실시간 스트리밍 모드로 긁은 아이템을 즉시 받을 수 있고, 데이터는 JSON/JSONL로 내보낼 수 있습니다. 난이도 2~3, 기본 이해로 시작 가능하며 고급 기능은 점진적 학습 가능합니다.
이런 레포예요
이럴 때 쓰면 좋아요
- JavaScript가 필요한 동적 웹사이트에서 대규모 데이터 수집
- Cloudflare/Turnstile 같은 반-봇 시스템이 있는 보호된 사이트 크롤링
- 여러 도메인에서 병렬로 데이터를 추출하고 중단점에서 재개해야 하는 장기 크롤 작업
핵심 기능
대안 대비 차별점
반지능적 요소 추적 기능과 원클릭 일시 중지/재개 체크포인트를 기본으로 제공하며, 동적 로딩과 HTTP 요청을 한 Spider 내에서 seamlessly 혼합할 수 있습니다.
먹어본 사람들
실제로 차려 먹어본 손님들의 흔적이에요 — 한마디와 완주 인증 모두 검수 후 공개돼요.
이 레포, 해먹는 법
처음 오셨어요? 어렵지 않아요 — 위에서 아래로 따라 하면 내 컴퓨터에 이 레포를 차려서 바로 맛볼 수 있어요.
준비물
- Python 3.7 이상
바로 차려먹기Python (uv)
깃밥이 레포 구조를 확인하고 만든 실행 명령이에요. 터미널에 붙여넣으면 받기부터 실행까지 한 번에 진행돼요.
git clone --depth 1 https://github.com/D4Vinci/Scrapling.git && cd Scrapling && uv sync
uv가 없다면: brew install uv · 실행 명령은 README를 확인하세요.
코드는 내 컴퓨터에서 실행돼요 — 처음 보는 레포라면 내용을 한번 훑어보고 실행하는 습관을 추천해요.
README가 안내하는 자세한 단계 보기
- Scrapling 설치
pip install scrapling
- 기본 HTTP 요청 실행
python -c "from scrapling.fetchers import Fetcher; page = Fetcher.get('https://quotes.toscrape.com/'); print(page.css('.quote .text::text').getall()[:1])"
- 세션을 이용한 여러 요청
python << 'EOF'
from scrapling.fetchers import FetcherSession
with FetcherSession(impersonate='chrome') as session:
page = session.get('https://quotes.toscrape.com/', stealthy_headers=True)
quotes = page.css('.quote .text::text').getall()
print(f"수집한 명언 수: {len(quotes)}")
EOF
- Spider 정의 및 실행
python << 'EOF'
from scrapling.spiders import Spider, Response
class QuotesSpider(Spider):
name = "quotes"
start_urls = ["https://quotes.toscrape.com/"]
concurrent_requests = 5
async def parse(self, response: Response):
for quote in response.css('.quote'):
yield {
"text": quote.css('.text::text').get(),
"author": quote.css('.author::text').get(),
}
result = QuotesSpider().start()
print(f"수집된 항목: {len(result.items)}")
EOF
- 스텔스 모드로 보호된 사이트 크롤링
python << 'EOF'
from scrapling.fetchers import StealthyFetcher
page = StealthyFetcher.fetch('https://nopecha.com/demo/cloudflare', headless=True)
data = page.css('#padded_content a').getall()
print(f"수집된 요소: {len(data)}")
EOF
- 결과를 JSON으로 내보내기
python << 'EOF'
from scrapling.spiders import Spider, Response
class MySpider(Spider):
name = "demo"
start_urls = ["https://quotes.toscrape.com/"]
async def parse(self, response: Response):
for item in response.css('.quote'):
yield {"title": item.css('.text::text').get()}
result = MySpider().start()
result.items.to_json("output.json")
print("JSON 파일로 저장 완료")
EOF
깃밥트라이로 맛보기
받아보기 귀찮고 살짝 불안했다면 — 안전 스캔부터 설치까지 터미널 한 줄로 끝나요.
터미널에 붙여넣으면 깃밥 안전 스캔 → 격리 폴더 clone → 설치 → 실행법 안내까지 자동이에요. 처음이어도 괜찮아요 — 이 한 줄이 전부예요.
npx gitbap-try D4Vinci/Scrapling
Node.js만 있으면 설치 없이 실행돼요 · 깃밥트라이가 뭐예요? →
별 추이 · 7일
활용성 · 따라 만들기 좋은가
- 관대한 라이선스
- 테스트 있음
- 예제 디렉토리
- 최근 활동
- AGENTS.md
- llms.txt
- 템플릿
🟢 최근 활동 있음 · 2024년 생성
「자동화·워크플로우」 이런 레포, 매주 받아보실래요?
매주 월요일 아침, 골라 담은 밥상만. 광고 없이 · 언제든 해지.
내 레포인가요? README에 깃밥 배지 달기
[](https://www.gitbap.com/r/D4Vinci/Scrapling)🔌 클로드에서 바로 써보기 — 깃밥 연결하는 법
깃밥을 클로드에 연결하면 이런 레포를 클로드·커서·Codex에서 바로 찾고 체험할 수 있어요.
클로드 설정 → 커넥터에 이 주소를 붙여넣기.
https://www.gitbap.com/api/mcp플러그인을 설치하면 /gitbap-trending·/gitbap-try 슬래시 커맨드로 레포를 그 자리에서 체험. Claude Code에서 아래 두 줄을 차례로 실행하세요.
/plugin marketplace add jakeparkcolde/gitbap-cowork/plugin install gitbap-cowork@gitbapAI가 README 기반으로 요약했습니다 · 원문 보기