gemini

Gemini 웹 스크래핑 프롬프트 - 데이터 수집 자동화

웹 스크래핑, 데이터 추출, 크롤링 자동화를 수행합니다. BeautifulSoup, Selenium, Playwright 활용.

수정
💡

프롬프트 사용 방법

  1. 1단계: 아래 입력 칸에 각 항목에 맞는 정보를 적어주세요
  2. 2단계: 입력하면 아래 프롬프트가 자동으로 업데이트됩니다
  3. 3단계: '프롬프트 복사' 버튼을 눌러 ChatGPT/Claude에 붙여넣으세요

💡 입력 칸의 회색 글씨는 예시입니다. 참고해서 작성해보세요!

📝 필요한 정보를 입력해주세요 (총 5개)

target url에 대한 값을 입력하세요

website type에 대한 값을 입력하세요

data requirements에 대한 값을 입력하세요

preferred language에 대한 값을 입력하세요

js rendering에 대한 값을 입력하세요

📋 완성된 프롬프트 (복사해서 사용하세요)

웹 스크래핑 솔루션을 제공하세요.


## 대상 정보
- URL: {{target_url}}
- 웹사이트 유형: {{website_type}}
- 수집 데이터: {{data_requirements}}
- 언어: {{preferred_language}}
- JS 렌더링: {{js_rendering}}

## 분석 및 구현
1. 웹사이트 분석 (정적/동적/SPA)
2. 도구 선택 (BeautifulSoup/Playwright/Selenium)
3. 데이터 추출 코드
4. 에러 처리 및 윤리적 스크래핑 준수

입력하지 않은 항목은 원래 표시를 유지합니다.

간단 버전

웹사이트에서 데이터를 스크래핑해주세요.
URL: {{target_url}}, 수집할 데이터: {{data_requirements}}, 언어: {{preferred_language}}
도구 추천, 코드, 주의사항을 알려주세요.

입력값 가이드

입력 항목 한국어 설명 placeholder 예시
target_url 스크래핑할 웹사이트 주소를 입력하세요 예: https://example.com/products https://example.com/products
website_type 사이트 종류를 선택하세요 예: 정적, 동적, SPA 정적, 동적, SPA
data_requirements 어떤 데이터를 가져올까요? 예: 제목, 가격, 이미지 제목, 가격, 이미지
preferred_language 사용할 언어를 선택하세요 예: Python, JavaScript Python, JavaScript
js_rendering JavaScript로 데이터를 불러오나요? 예: 예, 아니오 , 아니오

인풋 필드

[타겟 URL]
▼ 텍스트 입력
placeholder: "예: https://example.com/products"
설명: 스크래핑할 웹사이트 주소를 입력하세요

[웹사이트 유형]
▼ 드롭다운 선택
옵션: 정적, 동적, SPA
placeholder: "예: 정적, 동적, SPA"
설명: 사이트 종류를 선택하세요

[수집할 데이터]
▼ 텍스트 영역 입력
placeholder: "예: 제목, 가격, 이미지"
설명: 어떤 데이터를 가져올까요?

[선호 언어]
▼ 드롭다운 선택
옵션: Python, JavaScript, Node.js, Go
placeholder: "예: Python, JavaScript"
설명: 사용할 언어를 선택하세요

[JS 렌더링 여부]
▼ 드롭다운 선택
옵션: 예, 아니오
placeholder: "예: 예, 아니오"
설명: JavaScript로 데이터를 불러오나요?

도구 선택 가이드

웹사이트 유형 추천 도구 장점
정적 HTML BeautifulSoup 빠름, 가벼움
동적 (JS) Playwright 안정적, 빠름
동적 (JS) Selenium 브라우저 호환성
대규모 Scrapy 확장성

핵심 코드 패턴

BeautifulSoup (정적)

from bs4 import BeautifulSoup
import requests

response = requests.get(url, headers={'User-Agent': 'Mozilla/5.0'})
soup = BeautifulSoup(response.text, 'html.parser')

for item in soup.select('.product-card'):
    title = item.select_one('.title').get_text(strip=True)

Playwright (동적)

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=True)
    page = browser.new_page()
    page.goto(url)
    page.wait_for_selector('.product-card')

윤리적 스크래핑

필수 체크

  • robots.txt 확인
  • 요청 간 2초 딜레이
  • User-Agent에 연락처 포함
  • 개인정보 수집 금지

User-Agent 설정

headers = {'User-Agent': 'MyBot/1.0 (+https://mysite.com/contact)'}

주의사항

위험 대응
IP 차단 요청 속도 제한, 프록시 사용
구조 변경 유연한 선택자 사용
법적 문제 서비스 약관 확인, 저작권 준수

🚀 AI 바로 열기

🔗 관련 프롬프트