D4Vinci/Scrapling

🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!

GitHub에서 열기 ↗ aiai-scrapingautomationcrawlercrawlingcrawling-pythondatadata-extractionmcpmcp-serverplaywrightpythonscrapingselectorsstealthweb-scraperweb-scrapingweb-scraping-pythonwebscrapingxpath
68,942
GitHub 스타
6,825
포크
Python
언어
BSD-3-Clause
라이선스
2026.07.08
최근 푸시
2026.05.02
별표한 날

AI 분석

설치 난이도: 쉬움
큐레이터 노트
Scrapling은 적응형 파싱과 강력한 안티봇 우회 기능을 제공하여 웹 스크래핑 작업을 크게 단순화합니다. 특히 자주 변경되는 웹사이트를 대상으로 하거나 대규모 크롤링이 필요한 경우 유용합니다. 다만 상업적 스폰서 의존도가 높고 문서화가 다소 분산되어 있어, 실제 도입 전에 충분한 테스트가 필요합니다.

강점

  • 적응형 파서: 웹사이트 구조 변경 시 자동으로 요소 위치를 재조정하여 유지보수 부담을 크게 줄임
  • 안티봇 우회 내장: Cloudflare Turnstile 등 차단 시스템을 기본적으로 우회하여 별도 설정 불필요
  • 스파이더 프레임워크: 동시 다중 세션, 일시 중지/재개, 자동 프록시 로테이션을 지원하여 대규모 크롤링에 적합

약점

  • 문서화가 주로 README와 스폰서 배너에 의존하며, 상세한 API 문서는 외부 사이트(ReadTheDocs)에 있음
  • 스폰서 및 광고성 내용이 많아 프로젝트의 핵심 기능 파악에 방해가 될 수 있음
  • 적응형 기능(auto_save, adaptive)의 실제 동작 방식과 한계에 대한 설명이 부족함

주의사항

  • 스폰서 링크 및 할인 코드가 포함되어 있어 상업적 프로모션 성격이 강함
  • 적응형 파서는 완벽하지 않을 수 있으며, 복잡한 구조 변경 시 수동 조정이 필요할 수 있음
  • 프록시 로테이션 및 안티봇 우회 기능은 특정 환경에서 추가 설정이 필요할 수 있음

시작 가이드

  • pip install scrapling으로 설치 후 기본 예제 실행
  • 공식 문서(ReadTheDocs)에서 적응형 파서 및 스파이더 설정 방법 학습
  • 자주 스크래핑하는 웹사이트에 대해 auto_save 및 adaptive 기능 테스트
  • 프록시 로테이션과 안티봇 우회 기능을 실제 환경에서 검증

README 한국어 번역

이 번역은 AI가 원문 README를 옮긴 것입니다. 원문이 항상 우선합니다.

Scrapling은 단일 요청부터 전체 크롤링까지 모든 것을 처리하는 적응형 웹 스크래핑 프레임워크입니다. 파서는 웹사이트 변경 사항을 학습하고 페이지가 업데이트될 때 자동으로 요소를 재배치합니다. 페처(Fetcher)는 Cloudflare Turnstile과 같은 안티봇 시스템을 기본적으로 우회합니다. 스파이더 프레임워크를 사용하면 일시 중지/재개 및 자동 프록시 로테이션을 지원하는 동시 다중 세션 크롤링으로 확장할 수 있습니다. 단 몇 줄의 Python 코드로 가능합니다. 하나의 라이브러리로 모든 것을 해결합니다. 실시간 통계 및 스트리밍을 통한 초고속 크롤링을 제공합니다. 웹 스크래퍼와 일반 사용자를 위해 설계되었습니다.

from scrapling.fetchers import Fetcher, AsyncFetcher, StealthyFetcher, DynamicFetcher
StealthyFetcher.adaptive = True
p = StealthyFetcher.fetch('https://example.com', headless=True, network_idle=True)  # 웹사이트를 눈에 띄지 않게 가져오기!
products = p.css('.product', auto_save=True)                                        # 웹사이트 디자인 변경에도 살아남는 데이터 스크래핑!
products = p.css('.product', adaptive=True)                                         # 나중에 웹사이트 구조가 변경되면 `adaptive=True`를 전달하여 요소를 찾으세요!

또는 전체 크롤링으로 확장:

from scrapling.spiders import Spider, Response

class MySpider(Spider):
  name = "demo"
  start_urls = ["https://example.com/"]

  async def parse(self, response: Response):
      for item in response.css('.product'):
          yield {"title": item.css('h2::text').get()}

MySpider().start()

플래티넘 스폰서

  • Proxidize: 모바일 및 리지덴셜 프록시 제공. 코드 scrapling20으로 20% 할인.
  • ColdProxy: 195개 이상 국가의 리지덴셜 및 데이터센터 프록시.
  • Hyper Solutions: Akamai, DataDome, Kasada, Incapsula용 안티봇 토큰 API.
  • BirdProxies: 195개 이상 위치의 리지덴셜 및 ISP 프록시.
  • Evomi: $0.49/GB부터 시작하는 리지덴셜 프록시. 스크래핑 브라우저, 자동 CAPTCHA 해결.
  • TikHub.io: TikTok, X, YouTube, Instagram 등 16개 이상 플랫폼의 900개 이상 안정적인 API.
  • PetroSky VPS: 연중무휴 자동화를 위한 클라우드 서버. €6.99/월부터.
  • The Web Scraping Club: Scrapling 리뷰 (2025년 11월).
  • Swiftproxy: 확장 가능한 리지덴셜 프록시.

원본 저장소: D4Vinci/Scrapling

라이선스: BSD-3-Clause

게재 제외를 원하시면 삭제 요청을 보내주세요.