← 返回 Skills 市场
mupengi-bot

Korean Scraper

作者 mupengi-bot · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
804
总下载
0
收藏
1
当前安装
1
版本数
在 OpenClaw 中安装
/install korean-scraper
功能描述
Korean website specialized scraper with anti-bot protection (Naver, Coupang, Daum, Instagram)
使用说明 (SKILL.md)

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\
\
1. ...",
  "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 시장 규모 급성장 전망\
\
...",
  "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

상황 동작
404 JSON으로 에러 반환, 계속 진행
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

安全使用建议
What to consider before installing/running this skill: - Node/npm/npx are required but not listed in the registry metadata; ensure you run this in an environment where installing/running Node is expected (or update metadata). - npm install + npx playwright install chromium will download a Chromium browser (large download). Run in an environment where that network/disk activity is acceptable. - The code intentionally uses anti-detection measures (stealth plugin, navigator.webdriver hiding, --no-sandbox and other Chromium flags). That matches the scraper purpose but may violate target sites' terms of service and raises ethical/legal risk — review TOS and laws before using. - SKILL.md claims robots.txt compliance, but the code provides no robots.txt checking; if you need strict compliance, add an explicit robots.txt check before scraping. - The skill claims Instagram support and Cloudflare bypass in prose; Instagram scraping code is absent and Cloudflare handling is limited to stealth/backoff. Expect that some claims are aspirational, not implemented. - The scripts run headless browsers with flags like --no-sandbox and --disable-web-security; running these flags can reduce process isolation and security. Prefer running in an isolated container or VM, not on a critical host. - Test the skill in a sandbox first, and review/modify rate-limiting and behavior to avoid abusive traffic. Do not provide any credentials (logins) unless you review and modify code to handle them securely. If you want higher confidence: ask the author to update the registry metadata to list required binaries (node, npm/npx), add robots.txt enforcement, and remove/justify the Chromium flags that reduce sandboxing.
功能分析
Type: OpenClaw Skill Name: korean-scraper Version: 1.0.0 The skill is designed for web scraping, which is its stated purpose. However, the `lib/common.js` file uses the `--disable-web-security`, `--no-sandbox`, and `--disable-setuid-sandbox` flags when launching the Playwright browser. `--disable-web-security` is a critical vulnerability as it disables the same-origin policy, making the browser context highly susceptible to cross-site scripting (XSS) or other attacks if a malicious page is scraped. The sandbox disabling flags also reduce the isolation between the browser and the host system, increasing the risk of host compromise if a browser vulnerability is exploited. These are severe vulnerabilities in the skill's implementation, not direct malicious intent.
能力评估
Purpose & Capability
The skill's name/description (Korean website scraper with anti-bot evasion) aligns with the included scripts and dependencies (Playwright, stealth plugin). However the registry metadata declares no required binaries while SKILL.md and package.json clearly expect node, npm/npx, and Playwright-chromium to be installed (npm install / npx playwright install). The description mentions Instagram in places but no Instagram script is present; SKILL.md claims robots.txt compliance but the code contains no robots.txt checking logic. These omissions/inconsistencies reduce trust in the metadata and claims.
Instruction Scope
SKILL.md instructs running npm install, npx playwright install chromium, and running node scripts (the integration example uses exec to run node). The scripts are limited to scraping and JSON stdout output, and they do not appear to read unrelated local files or external endpoints for exfiltration. However SKILL.md asserts robots.txt compliance and ethical constraints but the code does not implement robots.txt checks; the anti-bot features (navigator.webdriver hiding, stealth plugin, random delays) explicitly attempt to evade automation detection which is consistent with the stated goal but raises ethical/TOS concerns depending on use. The integration example requires the agent to execute shell commands which implies node/npm must be available—this is not declared in metadata.
Install Mechanism
There is no registry install spec, but the repository includes package.json with dependencies on playwright, playwright-extra, and puppeteer-extra-plugin-stealth and a post-install step (npx playwright install chromium) that will download Chromium during install. These are expected for a Playwright scraper. No arbitrary external download URLs or obfuscated installers are present. Because Chromium will be downloaded by Playwright, users should expect substantial disk/network activity during installation.
Credentials
The skill does not request credentials or sensitive environment variables. Optional environment variables referenced (HEADLESS, SCREENSHOT, WAIT_TIME, USER_AGENT) are reasonable and proportional for configuring scraping behavior. No hidden env access was observed in the code.
Persistence & Privilege
The skill is not marked always:true and does not modify other skills or system-wide agent settings. It runs as CLI scripts and returns JSON via stdout. It does not persist credentials or alter agent configuration.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install korean-scraper
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /korean-scraper 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release of korean-scraper: - Specialized scraper for major Korean websites (Naver, Coupang, Daum) with Playwright and anti-bot protection (stealth, delay, user-agent rotation). - Provides CLI scripts for blog, cafe, news, and product data extraction with structured JSON outputs. - Implements rate limiting and detailed error handling to handle site restrictions and blocks. - Customizable via environment variables (headless mode, screenshot, user-agent, wait time). - Includes usage examples, integration instructions, compliance/ethics guidelines, and troubleshooting tips.
元数据
Slug korean-scraper
版本 1.0.0
许可证
累计安装 1
当前安装数 1
历史版本数 1
常见问题

Korean Scraper 是什么?

Korean website specialized scraper with anti-bot protection (Naver, Coupang, Daum, Instagram). 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 804 次。

如何安装 Korean Scraper?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install korean-scraper」即可一键安装,无需额外配置。

Korean Scraper 是免费的吗?

是的,Korean Scraper 完全免费(开源免费),可自由下载、安装和使用。

Korean Scraper 支持哪些平台?

Korean Scraper 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Korean Scraper?

由 mupengi-bot(@mupengi-bot)开发并维护,当前版本 v1.0.0。

💬 留言讨论