본문으로 건너뛰기

© 2026 Molayo

GitHub요약2026. 05. 22. 11:27

AI-Cursor-Scraping-Assistant

요약

Cursor AI와 MCP(Model Context Protocol)를 결합하여 웹 스크래퍼를 자동으로 생성하는 도구입니다. Cursor Rules와 MCP 도구를 통해 웹사이트 구조 분석부터 Scrapy 스파이더 생성까지의 과정을 자동화합니다.

핵심 포인트

  • Cursor Rules를 통한 AI 동작 가이드 제공
  • MCP를 활용한 XPath 선택자 및 웹 페이지 분석 강화
  • Scrapy 및 Camoufox 기반의 스크래퍼 생성 지원
  • 안티 봇 탐지 및 현대적 웹 프레임워크 분석 기능 포함

Cursor AI와 MCP (Model Context Protocol)를 활용하여 다양한 유형의 웹사이트를 위한 웹 스크래퍼 (Web Scraper)를 쉽게 생성할 수 있는 강력한 도구입니다. 이 프로젝트는 최소한의 노력으로 웹사이트를 빠르게 분석하고 적절한 Scrapy 또는 Camoufox 스크래퍼를 생성할 수 있도록 도와줍니다.

이 프로젝트는 두 가지 주요 구성 요소를 포함합니다:

Cursor Rules - Cursor AI에게 웹사이트를 분석하고 다양한 유형의 Scrapy 스파이더 (Spider)를 만드는 방법을 가르치는 규칙 세트
MCP Tools - 웹 스크래핑 작업을 위한 Cursor의 기능을 강화하는 Model Context Protocol 도구 모음

  • Cursor AI 설치됨
  • Python 3.10+ 설치됨
  • 웹 스크래핑 (Web Scraping) 개념에 대한 기본 지식

이 저장소를 로컬 머신으로 클론 (Clone) 하세요:

git clone https://github.com/TheWebScrapingClub/AI-Cursor-Scraping-Assistant.git
cd AI-Cursor-Scraping-Assistant

필요한 종속성 (Dependencies)을 설치하세요:

pip install mcp camoufox scrapy

Camoufox를 사용할 계획이라면, 브라우저 바이너리 (Browser Binary)를 가져와야 합니다:

python -m camoufox fetch

MCP 서버는 Cursor AI가 웹 페이지를 분석하고 XPath 선택자 (XPath Selector)를 생성하는 데 도움이 되는 도구를 제공합니다. MCP 서버를 시작하려면:

  • MCPfiles 디렉토리로 이동합니다:

cd MCPfiles

  • xpath_server.py에 있는 CAMOUFOX_FILE_PATH를 로컬의 Camoufox_template.py 파일을 가리키도록 업데이트합니다.

  • MCP 서버를 시작합니다:

python xpath_server.py

  • Cursor에서 설정(Settings)을 구성하거나 MCP 패널을 사용하여 MCP 서버에 연결합니다.

cursor-rules 디렉토리에는 Cursor AI에게 웹사이트를 분석하고 다양한 유형의 스크래퍼를 만드는 방법을 가르치는 규칙이 포함되어 있습니다. 이 규칙들은 Cursor에서 프로젝트를 열 때 자동으로 로드됩니다.

cursor-rules 디렉토리에는 웹 스크래퍼를 생성할 때 Cursor의 동작을 안내하는 MDC (Markdown Configuration) 파일 세트가 포함되어 있습니다:

이 규칙은 스크래퍼를 생성하기 전의 초기 설정 작업을 처리합니다:

  • pwd를 사용하여 현재 프로젝트의 전체 경로를 가져옵니다.
  • 나중에 다른 규칙에서 사용할 수 있도록 경로를 컨텍스트 (Context)에 저장합니다.
  • 진행하기 전에 예비 작업의 실행을 확인합니다.

이 종합적인 규칙은 웹사이트 분석을 위해 Cursor를 안내합니다:

  • 구축할 Scrapy 스파이더 (Spider) 유형 식별 (PLP, PDP 등)
  • 홈페이지 HTML 및 쿠키 (Cookies) 가져오기 및 저장
  • HTML 분석을 단순화하기 위해 MCP 도구를 사용하여 CSS 제거
  • 안티 봇 (Anti-bot) 보호 기능(Akamai, Datadome, PerimeterX 등)을 위한 쿠키 확인
  • PLP 스크레이퍼의 경우: 카테고리 페이지를 가져오고, 구조를 분석하며, JSON 데이터를 탐색
  • PDP 스크레이퍼의 경우: 상품 페이지를 가져오고, 구조를 분석하며, JSON 데이터를 탐색
  • schema.org 마크업 및 Next.js와 같은 현대적 프레임워크 탐지

이 규칙은 스크레이퍼 생성을 위한 실행 흐름을 제공합니다:

  • 따라야 할 단계별 순서 개요 작성
  • 올바른 순서로 다른 규칙 파일 참조
  • 스크레이퍼 생성 전에 필수 선행 작업이 완료되었는지 확인
  • 코드를 생성하기 전에 Cursor가 웹사이트를 분석하도록 안내

이 광범위한 규칙에는 Scrapy 베스트 프랙티스 (Best practices)가 포함되어 있습니다:

  • 권장되는 코드 구성 및 디렉토리 구조 정의
  • 파일 명명 규칙 및 모듈 구성에 대한 세부 사항
  • 컴포넌트 아키텍처 (Component architecture) 가이드라인 제공
  • 코드 분할 및 재사용을 위한 전략 제공
  • 성능 최적화 권장 사항 포함
  • 보안 관행, 에러 처리 (Error handling) 및 로깅 (Logging) 다룸
  • 구체적인 구문 예시 및 코드 스니펫 (Code snippets) 제공

이 규칙은 생성할 수 있는 다양한 유형의 스크레이퍼를 정의합니다:

E-commerce PLP: 데이터 구조, 필드 정의 및 구현 단계에 대한 세부 정보
E-commerce PDP: 데이터 구조, 필드 정의 및 구현 단계에 대한 세부 정보

  • 모든 스크레이퍼 유형에 대한 필드 매핑 (Field mapping) 가이드라인
  • 각 유형의 스크레이퍼를 생성하기 위한 단계별 지침
  • 기본 설정 권장 사항
  • 다양한 보호 시스템에 대한 안티 봇 (Anti-bot) 대응책

AI-Cursor-Scraping-Assistant를 사용하는 방법은 다음과 같습니다:

  • Cursor AI에서 프로젝트를 엽니다
  • MCP 서버가 실행 중인지 확인합니다
  • Cursor에게 다음과 같은 프롬프트로 스크레이퍼 생성을 요청합니다:
    Write an e-commerce PLP scraper for the website gucci.com (gucci.com 웹사이트를 위한 이커머스 PLP 스크레이퍼를 작성해줘)

그러면 Cursor는 다음과 같이 수행합니다:

  • 웹사이트 구조 분석 (Analyze the website structure)
  • 안티 봇 (anti-bot) 보호 기능 확인
  • 관련 HTML 요소 추출
  • 웹사이트 유형에 기반한 완전한 Scrapy 스파이더 (spider) 생성

다음과 같은 다양한 유형의 스크레이퍼 (scraper)를 요청할 수 있습니다:

E-commerce PLP (Product Listing Page, 상품 목록 페이지)

  • 상품 카탈로그/카테고리 페이지 스크레이핑

E-commerce PDP (Product Detail Page, 상품 상세 페이지)

  • 상세 상품 정보 스크레이핑

예시:

nike.com을 위한 이커머스 PDP 스크레이퍼를 작성해줘

이 프로젝트에는 특정 안티 봇 (anti-bot) 조치를 우회할 수 있는 스텔스 스크레이퍼 (stealth scraper)를 만들기 위한 Camoufox 템플릿이 포함되어 있습니다. MCP 도구는 다음과 같은 작업을 도와줍니다:

  • Camoufox를 사용하여 페이지 콘텐츠 가져오기
  • 원하는 요소에 대한 XPath 셀렉터 (selector) 생성
  • 템플릿을 기반으로 완전한 Camoufox 스크레이퍼 생성

cursor-rules 파일에 새로운 스크레이퍼 유형을 추가하여 기능을 확장할 수 있습니다. 모듈형 설계 덕분에 커스터마이징이 용이합니다.

AI-Cursor-Scraping-Assistant/
├── MCPfiles/
│ ├── xpath_server.py # 웹 스크레이핑 도구가 포함된 MCP 서버
...

향후 개발을 위해 계획된 기능은 다음과 같습니다:

프록시 (Proxy) 지원

  • 운영자의 요청 시 프록시 지원 추가
  • 프록시 로테이션 (rotation) 전략 구현
  • 다양한 프록시 제공업체 지원
  • 프록시 인증 처리
  • 인기 있는 프록시 서비스와의 통합

XPath 셀렉터 (Selector) 개선

  • 생성된 XPath 셀렉터에 대한 검증 메커니즘 추가
  • 셀렉터 정교화를 위한 피드백 루프 구현
  • 셀렉터 재작업을 위한 제어 흐름 (control flow) 관리
  • 문제가 있는 셀렉터의 자동 수정
  • 동적 콘텐츠 및 AJAX 로딩과 같은 예외 케이스 처리

기능 확장

  • 더 많은 스크레이퍼 유형 지원 (뉴스 사이트, 소셜 미디어 등)
  • 추가적인 안티 봇 (anti-bot) 우회 기술과의 통합
  • 향상된 JSON 추출 기능
  • 더 복잡한 네비게이션 (navigation) 패턴 지원
  • 다중 페이지 스크레이핑 최적화

이 프로젝트는 The Web Scraping Club의 기사를 기반으로 합니다:

웹 스크레이핑 기술 및 모범 사례에 대한 자세한 정보는 The Web Scraping Club을 방문하세요.

기여는 언제나 환영합니다! 자유롭게 Pull Request를 제출해 주세요.

이 프로젝트는 MIT License 라이선스 하에 배포됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0