korean-scraper

Korean website specialized scraper with anti-bot protection (Naver, Coupang, Daum, Instagram)

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "korean-scraper" with this command: npx skills add mupengi-bot/korean-scraper

korean-scraper

한국 웹사이트 전문 스크래퍼 — Playwright 기반으로 네이버, 쿠팡, 다음 등 한국 주요 사이트에서 구조화된 데이터를 추출합니다. Anti-bot 보호 우회 기능 포함.

When to Use

  • 네이버 블로그 검색 결과 수집 또는 특정 블로그 본문 추출
  • 네이버 카페 인기글/최신글 스크래핑
  • 쿠팡 상품 정보 (가격, 리뷰, 별점) 수집
  • 네이버 뉴스/다음 뉴스 기사 본문 추출
  • 한국 사이트 대상 자동화된 데이터 수집

Installation

cd skills/korean-scraper
npm install
npx playwright install chromium

Quick Start

네이버 블로그

# 검색 결과 수집
node scripts/naver-blog.js search "맛집 추천" --limit 10

# 특정 블로그 본문 추출
node scripts/naver-blog.js extract "https://blog.naver.com/..."

네이버 카페

# 인기글 수집
node scripts/naver-cafe.js popular "카페URL" --limit 20

# 최신글 수집
node scripts/naver-cafe.js recent "카페URL" --limit 20

쿠팡 상품

# 상품 정보 추출
node scripts/coupang.js product "상품URL"

# 검색 결과 수집
node scripts/coupang.js search "무선 이어폰" --limit 20

네이버 뉴스

# 검색 결과 수집
node scripts/naver-news.js search "AI" --limit 10

# 기사 본문 추출
node scripts/naver-news.js extract "https://n.news.naver.com/..."

다음 뉴스

# 검색 결과 수집
node scripts/daum-news.js search "경제" --limit 10

# 기사 본문 추출
node scripts/daum-news.js extract "https://v.daum.net/..."

Output Format

모든 스크립트는 구조화된 JSON을 반환합니다:

네이버 블로그 검색

{
  "status": "success",
  "query": "맛집 추천",
  "count": 10,
  "results": [
    {
      "title": "서울 강남 맛집 추천 BEST 5",
      "url": "https://blog.naver.com/...",
      "blogger": "맛집탐험가",
      "date": "2026-02-15",
      "snippet": "강남역 근처 숨은 맛집들을..."
    }
  ]
}

네이버 블로그 본문

{
  "status": "success",
  "url": "https://blog.naver.com/...",
  "title": "서울 강남 맛집 추천 BEST 5",
  "author": "맛집탐험가",
  "date": "2026-02-15",
  "content": "# 서울 강남 맛집 추천 BEST 5\n\n1. ...",
  "images": ["https://..."],
  "tags": ["맛집", "강남", "서울"]
}

쿠팡 상품

{
  "status": "success",
  "url": "https://www.coupang.com/...",
  "productName": "애플 에어팟 프로 2세대",
  "price": 299000,
  "originalPrice": 359000,
  "discount": "17%",
  "rating": 4.8,
  "reviewCount": 1523,
  "rocketDelivery": true,
  "seller": "쿠팡",
  "images": ["https://..."]
}

네이버 카페

{
  "status": "success",
  "cafeUrl": "https://cafe.naver.com/...",
  "type": "popular",
  "count": 20,
  "posts": [
    {
      "title": "신입 회원 인사드립니다",
      "url": "https://cafe.naver.com/.../12345",
      "author": "닉네임",
      "date": "2026-02-17",
      "views": 523,
      "comments": 12
    }
  ]
}

뉴스 기사

{
  "status": "success",
  "url": "https://n.news.naver.com/...",
  "title": "AI 시장 규모 급성장 전망",
  "media": "조선일보",
  "author": "홍길동 기자",
  "date": "2026-02-17 09:30",
  "content": "# AI 시장 규모 급성장 전망\n\n...",
  "category": "IT/과학",
  "images": ["https://..."]
}

Anti-Bot Features

  • navigator.webdriver 숨김 — 자동화 탐지 회피
  • 실제 User-Agent 사용 — 모바일/데스크탑 랜덤
  • 인간 행동 모방 — 랜덤 딜레이, 스크롤
  • Stealth Plugin — Playwright extra stealth
  • Cloudflare 우회 — 대기 시간 자동 조정

Rate Limiting

모든 스크립트는 기본적으로 사이트를 보호합니다:

  • 요청당 2-5초 랜덤 딜레이
  • 동일 도메인 1초당 최대 1회 요청
  • 429 응답 시 자동 백오프
  • --fast 플래그로 딜레이 축소 가능 (주의)

Error Handling

상황동작
404JSON으로 에러 반환, 계속 진행
403/차단재시도 (최대 3회)
타임아웃대기 시간 연장 후 재시도
로그인 필요경고 메시지 + 가능한 데이터만 반환

Environment Variables

# Headless 모드 끄기 (디버깅용)
HEADLESS=false node scripts/naver-blog.js ...

# 스크린샷 저장
SCREENSHOT=true node scripts/coupang.js ...

# 대기 시간 조정 (ms)
WAIT_TIME=10000 node scripts/naver-cafe.js ...

# User-Agent 커스텀
USER_AGENT="..." node scripts/naver-news.js ...

Integration Examples

OpenClaw Agent 통합

// 네이버 블로그 검색
const result = await exec({
  command: 'node scripts/naver-blog.js search "AI 트렌드" --limit 5',
  workdir: '/path/to/skills/korean-scraper'
});
const data = JSON.parse(result.stdout);

Batch Processing

# 여러 URL 일괄 처리
cat urls.txt | while read url; do
  node scripts/naver-blog.js extract "$url" >> results.jsonl
done

Limitations

  • 로그인 필요 콘텐츠: 현재 비로그인 상태로만 스크래핑 (쿠팡 일부 리뷰 등)
  • 동적 로딩: 무한 스크롤은 기본 10개까지만 (--scroll 플래그로 확장 가능)
  • CAPTCHA: 수동 우회 필요 (자동화 불가)
  • IP 차단: 과도한 요청 시 일시적 차단 가능 (rate limiting 준수 필요)

Compliance & Ethics

  • ✅ 공개된 정보만 수집
  • ✅ robots.txt 준수 (기본값)
  • ✅ Rate limiting으로 서버 부하 최소화
  • ❌ 개인정보 수집 금지
  • ❌ 로그인 필요 콘텐츠 무단 접근 금지
  • ❌ 저작권 침해 목적 사용 금지

Troubleshooting

문제: 403 Forbidden

해결책:

  1. User-Agent 변경 시도
  2. 대기 시간 늘리기 (WAIT_TIME=15000)
  3. Headless 모드 끄기 (HEADLESS=false)

문제: 빈 결과 반환

해결책:

  1. URL 형식 확인
  2. 사이트 구조 변경 가능성 (셀렉터 업데이트 필요)
  3. 로그인 필요 여부 확인

문제: Timeout

해결책:

  1. WAIT_TIME 늘리기
  2. 인터넷 연결 확인
  3. 사이트 접근 가능 여부 확인 (VPN 필요 등)

Maintenance

한국 사이트들은 UI를 자주 변경하므로, 셀렉터 업데이트가 필요할 수 있습니다.

셀렉터 위치: scripts/ 내 각 파일 상단 SELECTORS 객체

const SELECTORS = {
  blogTitle: '.se-title-text',
  blogContent: '.se-main-container',
  // ...
};

Future Improvements

  • 인스타그램 게시물 스크래핑
  • 네이버 쇼핑 가격 비교
  • 유튜브 한국 채널 메타데이터
  • 배치 처리 최적화 (병렬 실행)
  • 쿠키/세션 관리 (로그인 유지)
  • Proxy 지원

References

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

Ai Agent Builder

快速构建和部署支持多工具集成与记忆管理的自定义 AI Agent,适用于客服、数据采集和研究自动化。

Registry SourceRecently Updated
Automation

GolemedIn MCP

Discover AI agents, manage agent profiles, post updates, search jobs, and message other agents on GolemedIn — the open agent registry.

Registry SourceRecently Updated
Automation

Agent HQ

Deploy the Agent HQ mission-control stack (Express + React + Telegram notifier / Jarvis summary) so other Clawdbot teams can spin up the same board, high-priority watcher, and alert automation. Includes setup, telemetry, and automation hooks.

Registry SourceRecently Updated
41.1K
Profile unavailable