Community연구 & 데이터 분석github.com

brightdata/bright-data-best-practices

최적의 방법이 내장된 프로덕션 준비 완료 Bright Data 통합을 구축하세요. 코딩 어시스턴트(Claude Code, Cursor 등)를 사용하는 개발자를 위한 참조 문서로, 웹 스크래핑, 검색, 브라우저 자동화 및 구조화된 데이터 추출을 구현합니다. Web Unlocker API, SERP API, Web Scraper API 및 Browser API(Scraping Browser)를 다룹니다.

bright-data-best-practices란 무엇인가요?

이 기술은 Bright Data 플랫폼을 사용하여 프로덕션 수준의 웹 스크래핑 솔루션을 구축하는 방법을 제공합니다. 개발자가 Claude Code, Cursor와 같은 AI 코딩 어시스턴트를 활용하여 Web Unlocker API, SERP API, Web Scraper API, Browser API 등 주요 API를 모범 사례와 함께 효율적으로 구현할 수 있도록 설계되었습니다. 주요 기능으로는 지능형 차단 회피, 동적 SERP(검색 결과 페이지) 데이터 추출, CSS 선택자 기반 구조화된 데이터 추출, 헤드리스 브라우저 자동화 등이 포함됩니다. 각 API에 대한 설정, 인증, 오류 처리 및 최적화 방법을 상세히 다루어, 데이터 수집 워크플로우를 안정적이고 확장 가능하게 만듭니다.

지원 대상✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/brightdata/skills/tree/main/skills/bright-data-best-practices

Installed? Explore more 연구 & 데이터 분석 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

bright-data-best-practices은(는) 무엇을 하나요?

최적의 방법이 내장된 프로덕션 준비 완료 Bright Data 통합을 구축하세요. 코딩 어시스턴트(Claude Code, Cursor 등)를 사용하는 개발자를 위한 참조 문서로, 웹 스크래핑, 검색, 브라우저 자동화 및 구조화된 데이터 추출을 구현합니다. Web Unlocker API, SERP API, Web Scraper API 및 Browser API(Scraping Browser)를 다룹니다.

개요

이 기술은 Bright Data의 핵심 API를 최적의 방법으로 활용하는 방법을 설명합니다. 각 API는 특정 웹 데이터 수집 요구 사항을 해결하도록 설계되었습니다:

  • Web Unlocker API: 지능형 프록시 로테이션, 브라우저 핑거프린팅, 캡차 해결을 통해 차단 없이 웹사이트에 접근합니다.
  • SERP API: Google, Bing, Yandex 등 검색 엔진 결과 페이지(SERP)에서 지역별, 언어별 검색 결과를 추출합니다.
  • Web Scraper API: CSS 선택자를 사용하여 웹페이지에서 구조화된 데이터를 추출합니다.
  • Browser API (Scraping Browser): 헤드리스 Chromium 브라우저를 원격 제어하여 동적 콘텐츠를 처리합니다.

설정

1. 계정 및 인증

Bright Data에 가입하고 API 토큰을 생성하세요. 환경 변수에 설정합니다:

export BRIGHTDATA_TOKEN="your_api_token_here"

2. 설치

Python과 Node.js 클라이언트 라이브러리를 사용합니다:

# Python
pip install brightdata

# Node.js
npm install @brightdata/client

Web Unlocker API

차단되지 않고 데이터를 가져오는 핵심 API입니다.

Python 예제:

from brightdata import Client

client = Client(token='your_token')
response = client.unlocker.get('https://example.com')
print(response.text)

고급 옵션

  • 지역 타겟팅: country 매개변수로 출발지 IP 국가를 지정합니다.
  • 세션 유지: session_id로 쿠키와 세션을 유지합니다.
  • 렌더링: render=true로 JavaScript 렌더링을 활성화합니다.

SERP API

검색 엔진 결과를 구조화된 데이터로 수집합니다.

Python 예제:

from brightdata import Client

client = Client(token='your_token')
results = client.serp.search(
    query='artificial intelligence',
    engine='google',
    country='us',
    language='en'
)
for result in results:
    print(result.title, result.url)

지원 엔진

엔진매개변수 값
Googlegoogle
Bingbing
Yandexyandex

Web Scraper API

CSS 선택자를 기반으로 웹페이지에서 데이터를 추출합니다.

Python 예제:

from brightdata import Client

client = Client(token='your_token')
data = client.scraper.extract(
    url='https://example.com/products',
    selectors={
        'title': 'h2.product-title',
        'price': 'span.price',
        'image': 'img.product-image @src'
    }
)
print(data)

선택자 팁

  • 텍스트: span.text → innerText 추출
  • 속성: a.link @href → href 속성 추출
  • 반복: 선택자가 여러 요소와 일치하면 목록 반환

Browser API (Scraping Browser)

동적 콘텐츠에 대해 전체 브라우저를 원격 제어합니다.

Node.js 예제:

const { BrowserClient } = require('@brightdata/client');

const client = new BrowserClient({ token: process.env.BRIGHTDATA_TOKEN });
const browser = await client.connect();
const page = await browser.newPage();
await page.goto('https://example.com');
const title = await page.title();
console.log(title);
await browser.close();

오류 처리

모든 API는 HTTP 상태 코드와 JSON 응답으로 오류를 보고합니다. 일반적인 상태 코드:

  • 200: 성공
  • 401: 인증 실패 (토큰 확인)
  • 429: 속도 제한 초과 (재시도 대기)
  • 500: 서버 오류 (나중에 재시도)

재시도 로직 예제:

import time
from brightdata import Client, BrightDataError

client = Client(token='your_token')
max_retries = 3
for attempt in range(max_retries):
    try:
        response = client.unlocker.get('https://example.com')
        break
    except BrightDataError as e:
        if attempt < max_retries - 1:
            time.sleep(2 ** attempt)
        else:
            raise

모범 사례 요약

  1. 환경 변수 사용: API 토큰을 코드에 하드코딩하지 마십시오.
  2. 세션 재사용: 동일 대상에 대한 여러 요청 시 세션을 재사용하여 성능을 향상시킵니다.
  3. 속도 제한 존중: 429 응답을 처리하고 백오프 전략을 구현합니다.
  4. 오류 로깅: 디버깅을 위해 요청과 응답을 기록합니다.
  5. 타겟 존중: 과도한 요청을 피하기 위해 합리적인 지연 시간을 설정합니다.

참고 자료

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

brightdata/brightdata-cli

Guide for using the Bright Data CLI (`brightdata` / `bdata`) to scrape websites, search the web, extract structured data from 40+ platforms, manage proxy zones, and check account budget. Use this skill whenever the user wants to scrape a URL, search Google/Bing/Yandex, extract data from Amazon/LinkedIn/Instagram/TikTok/YouTube/Reddit or any other platform, check their Bright Data balance or zones, or do anything involving web data collection from the terminal. Also trigger when the user mentions brightdata, bdata, web scraping CLI, SERP API, or wants to install Bright Data skills into their coding agent.

brightdata/scrape

Scrape web content as clean markdown/HTML/JSON via the Bright Data CLI (`bdata scrape`). Use when the user wants to fetch a page, extract content from a list of URLs, or crawl paginated listings. Hands off to `data-feeds` for supported platforms (Amazon, LinkedIn, TikTok, Instagram, YouTube, Reddit, etc.) and to `search` when URLs must be discovered first. Requires the Bright Data CLI; proactively guides install + login if missing.

brightdata/seo-audit

When the user wants to audit, review, or diagnose SEO issues on their site. Uses live web data via the Bright Data CLI for accurate detection of JS-injected schema, hreflang, canonicals, and live SERP-based ranking checks. Also use when the user mentions "SEO audit," "technical SEO," "why am I not ranking," "SEO issues," "on-page SEO," "meta tags review," "SEO health check," "my traffic dropped," "lost rankings," "not showing up in Google," "site isn't ranking," "Google update hit me," "page speed," "core web vitals," "crawl errors," or "indexing issues." Use this even if the user just says something vague like "my SEO is bad" or "help with SEO" — start with an audit. For building pages at scale to target keywords, see programmatic-seo. For implementing structured data, see schema-markup. For AI search optimization, see ai-seo.

관련 스킬