강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

붕붕님의 프로필 이미지
붕붕

작성한 질문수

딸깍! AI로 전문가처럼 웹 크롤링 & 데이터 분석(w. GEMINI CLI)

어떤 사이트는 수집이 가능하고 어떤 사이트는 수집이 어려울까요?

로그인 필수 사이트 정보 수집시

작성

·

27

0

안녕 하세요

유익하고 좋은 강의 잘 들었습니다. ^^

사이트를 이용하다 보면

로그인 해야지만 이용할 수 있는 사이트 들이 있는데

이럴 경우는 어떻게 하면 되는지 알고 싶습니다.

예를 들면

네이버 검색 광고 사이트라던지

쿠팡 특정 카테고리 같은 경우요

 

답변 2

1

박조은님의 프로필 이미지
박조은
지식공유자

안녕하세요.

이 강의는 로그인을 하지 않은 상태에서 수집하는 내용을 주로 다루고 있는데요.

네이버 로그인 이라든지의 과정은 셀레니움 혹은 Playwright를 사용해서 구현하도록 AI에게 지시하고 나머지 내용은 동일하게 지시해서 진행하는 방법이 있습니다.

네이버의 경우 일부 API를 제공하고 있으나 질문주신 내용은 공식 API에서 제한적으로 제공하고 있습니다.

관련 링크 => https://developers.naver.com/products/service-api/datalab/datalab.md

쿠팡의 경우 API를 찾아 수집할 수는 있지만 서버측에서 꾸준히 업데이트를 통해 사용자가 데이터를 수집해 가지 못하도록 여러 장치를 두고 있습니다.

따라서 쿠팡의 경우 수집 난이도가 매우 높으며, 일부 사이트 등에서는 이런 사이트를 우회하는 API를 유료로 제공하고 있기도 합니다.

 

다음 AI 답변 내용도 함께 참고 부탁드립니다.

1. 공통 개념: “로그인 = 세션/토큰 확보”

로그인 후에는 보통 아래 중 하나(또는 조합)로 인증 상태가 유지됩니다.

  • 쿠키 기반 세션: Set-Cookie로 내려온 세션 쿠키를 이후 요청에 포함

  • 토큰 기반(OAuth/JWT 등): Authorization: Bearer ... 같은 헤더

  • CSRF 토큰: 폼 전송이나 API 호출 시 추가 토큰 필요

  • 기기/브라우저 지문 기반: 특정 헤더/스크립트/동작을 요구(봇 방지)

따라서 “로그인 요청 한 번”으로 끝나는 게 아니라, 로그인 과정에서 생기는 쿠키·토큰·CSRF를 제대로 이어받는 설계가 핵심입니다.

 

2. 추천 전략 A: Playwright로 로그인 → 쿠키/스토리지 저장 → 재사용

가장 범용적입니다. 특히 네이버처럼 로그인 과정이 복잡하거나, 쿠팡처럼 동적 렌더링이 많을 때 유리합니다.

흐름

  1. Playwright로 실제 브라우저를 띄워 로그인(최초 1회)

  2. 로그인 완료 후 storage_state(쿠키+로컬스토리지 등)를 파일로 저장

  3. 이후에는 저장된 state로 “로그인된 상태”를 재현해서 수집 자동화

장점

  • 로그인/JS/동적 렌더링/리다이렉트 대응이 강함

  • 쿠키 만료 전까지 재로그인 빈도 감소

주의

  • 2FA(OTP), 캡차가 있으면 자동 로그인이 어려울 수 있습니다.

  • 사이트 약관/robots/정책 위반 소지가 없는지 확인해야 합니다.

3. 추천 전략 B: 로그인은 브라우저로 하고 “내부 API”를 requests로 호출

속도/안정성이 좋고, 대량 수집에 적합합니다.

흐름

  1. 개발자도구(Network)에서 로그인 후 데이터 로딩 요청을 관찰

  2. 실제 데이터가 HTML이 아니라 JSON API로 내려오는지 확인(XHR/fetch)

  3. 그 API 요청을 복제하되, 필요한 인증(쿠키/토큰/CSRF)만 정확히 붙여서 requests로 호출

장점

  • 브라우저 자동화보다 빠르고 리소스 적게 듦

  • 대량 수집/스케줄링에 적합

주의

  • 토큰 갱신(리프레시), CSRF, 헤더 검증이 걸려 있으면 구현 난도가 올라갑니다.

  • 내부 API는 사전 고지 없이 변경될 수 있습니다.

4. 네이버 “검색광고” 같은 케이스에서의 현실적인 접근

네이버 검색광고 플랫폼은 계정 인증이 강하고(보안/2FA 등), 단순 로그인 크롤링이 불안정한 편입니다.

실무적으로는 보통:

  • 가능하면 공식 제공 API(보고서/키워드/캠페인 조회 등)를 우선 검토

  • 불가피할 때만 “브라우저 자동화 + 저장된 세션” 또는 “내부 API 재현”으로 접근

특히 광고/결제/개인정보가 연관된 영역은 차단·계정 제한 리스크가 상대적으로 큽니다. 자동화 빈도와 방식(속도, 동시성, 호출량)을 보수적으로 잡는 것이 안전합니다.

 

5. 쿠팡 “특정 카테고리” 같은 케이스 접근

쿠팡은 “로그인 없이도 보이는 카테고리/검색 결과”가 많지만,

  • 개인화(추천, 멤버십 전용, 특정 가격 정책),

  • 로그인 필수 페이지,

  • 지역/배송지 기반 노출
    같은 요소가 붙으면 로그인 세션이 필요해집니다.

이 경우도 보통은:

  • (가능하면) 로그인 없이 가능한 범위로 설계

  • 로그인 필요 시 Playwright로 배송지/세션을 포함한 상태로 접근

  • 실제 데이터는 내부 API로 내려오는지(Network) 확인 후 requests로 전환

6. 구현 시 체크리스트(중요)

  • 로그인 후 새로고침해도 로그인 유지되는가? (쿠키 만료/도메인 범위)

  • 데이터가 HTML인가, JSON API인가? (Network에서 XHR 확인)

  • CSRF 토큰이 필요한가? (요청 헤더/폼 데이터에 토큰 존재 여부)

  • 2FA/캡차/봇 방지가 있는가?

  • 호출량 제한(레이트 리밋)과 차단 정책이 있는가?

  • 약관/정책 준수 가능한가? (특히 광고/상거래 영역)


7. 바로 적용 가능한 “권장 설계” 요약

  • 1단계: Playwright로 로그인 및 필요한 설정(배송지 등)까지 완료

  • 2단계: storage_state 저장해서 세션 재사용

  • 3단계: Network 분석으로 내부 API를 찾고, 가능하면 requests로 전환(속도/안정성)

  • 4단계: 실패/차단 대비(재시도, 백오프, 낮은 동시성, 캐시) 포함

 

 

붕붕님의 프로필 이미지
붕붕
질문자

상세한 답변 주셔서 감사 합니다

알려 주신 내용들 실행해 보겠습니다 ^^

박조은님의 프로필 이미지
박조은
지식공유자

네 해보시고 궁금하신 내용이 있으면 또 질문 주세요! 화이팅입니다^^

1

안녕하세요, 인프런 AI 인턴입니다. 붕붕님.

로그인이 필요한 웹사이트에서 데이터를 수집하려고 할 때, 일반적인 웹 스크래핑 방식으로는 접근하기 어려운 경우가 많습니다. 이러한 사이트들은 대부분 로그인 정보가 필요한 페이지 접근을 제한하기 때문입니다. 이 경우 몇 가지 전략을 고려할 수 있습니다:

  1. API 사용:

    • 먼저, 해당 사이트가 공식적으로 API를 제공하는지 확인해보세요. API는 보통 인증 절차를 거쳐 데이터를 안전하게 접근할 수 있게 하는 방법입니다. 네이버 검색 광고나 쿠팡 같은 경우, 자신의 서비스에 공식 API를 통해 데이터를 제공할 수 있습니다.
  2. 세션 유지:

    • 웹 브라우저에서 수집한 쿠키와 세션 정보를 이용해 세션을 유지할 수 있습니다. Python에서는 requests 라이브러리와 같은 도구를 사용하여 로그인 세션을 유지하고 데이터에 접근할 수 있는 방법이 있습니다. Python Requests 사용법에서 이에 대한 자세한 설명을 확인할 수 있습니다.
  3. 자동 로그인 스크립트:

    • Selenium과 같은 라이브러리를 사용하여 브라우저 자동화를 통해 로그인 프로세스를 시뮬레이션할 수 있습니다. 이렇게 하면 로그인 후 데이터를 수집할 수 있습니다.

다만, 각 사이트의 서비스 약관을 반드시 확인해야 하며, 이런 방식으로 데이터를 수집하는 것이 해당 사이트의 정책에 위배되지 않도록 주의해야 합니다. 일부 사이트는 스크래핑을 엄격히 금지할 수 있으며, 이는 법적 문제로 이어질 수 있습니다.

위의 포인트들을 통해 필요한 데이터를 안전하게 수집할 수 있도록 시도해 보시길 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

붕붕님의 프로필 이미지
붕붕

작성한 질문수

질문하기