박조은
@todaycode
수강생
19,623
수강평
835
강의 평점
4.9
Microsoft MVP(Python Developer Technologies)
네이버 커넥트 재단 부스트코스 데이터사이언스 강의 설계 및 교수자
서울대 빅데이터혁신공유대학, 서울대 평생교육원, 연세대 DX Academy, 한신대 ABC Camp, 한양대 대학원, 전남대,
한국능률협회, IGM세계경영연구원, 삼성SDS 멀티캠퍼스, 멋쟁이사자처럼, 패스트캠퍼스, 모두의연구소, 국립암센터 등 다수의 교육기관 및 기업 강의
다양한 도메인(제약, 통신, 자동차, 커머스, 교육, 정부기관 등)의 기업 데이터 분석
20년이상 게임, 광고, 교육 등 다양한 도메인에서 웹 백엔드 개발자 및 데이터 분석가 현업 경험
📚 도서
강의
로드맵
전체 1수강평
- 딸깍! AI로 전문가처럼 웹 크롤링 & 데이터 분석(w. GEMINI CLI)
- 딸깍! AI로 전문가처럼 웹 크롤링 & 데이터 분석(w. GEMINI CLI)
- 딸깍! AI로 전문가처럼 웹 크롤링 & 데이터 분석(w. GEMINI CLI)
게시글
질문&답변
로그인 필수 사이트 정보 수집시
안녕하세요.이 강의는 로그인을 하지 않은 상태에서 수집하는 내용을 주로 다루고 있는데요.네이버 로그인 이라든지의 과정은 셀레니움 혹은 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로 로그인 → 쿠키/스토리지 저장 → 재사용가장 범용적입니다. 특히 네이버처럼 로그인 과정이 복잡하거나, 쿠팡처럼 동적 렌더링이 많을 때 유리합니다.흐름Playwright로 실제 브라우저를 띄워 로그인(최초 1회)로그인 완료 후 storage_state(쿠키+로컬스토리지 등)를 파일로 저장이후에는 저장된 state로 “로그인된 상태”를 재현해서 수집 자동화장점로그인/JS/동적 렌더링/리다이렉트 대응이 강함쿠키 만료 전까지 재로그인 빈도 감소주의2FA(OTP), 캡차가 있으면 자동 로그인이 어려울 수 있습니다.사이트 약관/robots/정책 위반 소지가 없는지 확인해야 합니다.3. 추천 전략 B: 로그인은 브라우저로 하고 “내부 API”를 requests로 호출속도/안정성이 좋고, 대량 수집에 적합합니다.흐름개발자도구(Network)에서 로그인 후 데이터 로딩 요청을 관찰실제 데이터가 HTML이 아니라 JSON API로 내려오는지 확인(XHR/fetch)그 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단계: 실패/차단 대비(재시도, 백오프, 낮은 동시성, 캐시) 포함
- 0
- 2
- 26
질문&답변
0201 데이터 수집을 위한 프롬프트 컨텍스트 문서 작성과 코드 작성 실행시 도서정보링크확인
페이징이 없는 사이트는 새로고침을 해주시면 데이터가 로드되는 URL 이 보입니다.그리고 수업에서 쓱닷컴의 예제를 보면 스크롤하는 예제는 스크롤을 할 때마다 페이징과 같은 방식으로 작동하는 것을 확인해 보실 수 있습니다.감사합니다!
- 0
- 3
- 47
질문&답변
0201 데이터 수집을 위한 프롬프트 컨텍스트 문서 작성과 코드 작성 실행시 도서정보링크확인
안녕하세요. 처음에 화면을 열었을때는 이미 로드된 상태라서 도서목록에 대한 주소가 보이지 않습니다.하단의 페이징 버튼을 눌러서 다른 페이지로 이동을 하면 수업에서 사용하고 있는 주소가 보이게 됩니다.다시 시도해 보시고 안 되면 질문 남겨주세요!감사합니다!
- 0
- 3
- 47
질문&답변
질문입니다
안녕하세요. 커서도 VSCode 기반으로 작성된 도구라 사용법은 거의 비슷합니다.최근 구글에서 나온 Antigravity 도 VSCode 기반으로 사용법이 거의 비슷합니다.해당 방법으로 다른 에디터 혹은 AI 모델을 사용해도 비슷한 결과를 도출할 수 있습니다.프롬프트 작성하는 순서나 과정을 통해 언제 어떤 데이터를 참고하게 할지 AI가 어떻게 계획을 세우고 파일을 실행하게 할지에 대한 내용을 이해하고 일을 시키는 방법을 알고 있다면 어떤 AI 도구든 이 강의의 방법을 활용해 보실 수 있으실거에요!궁금하신 점이 있다면 또 질문해 주세요!감사합니다!
- 0
- 1
- 41
질문&답변
안녕하십니까! 질문드립니다!
안녕하세요. robots.txt 는 권고사항이고 강제사항은 아닙니다.권고사항이라 지키는 것이 좋지만 이미 레딧의 많은 글은 LLM 모델에서도 학습에 사용하고 있는 것으로 알려져 있습니다.해당 데이터를 수집해서 무단으로 공개하는 것이 아니라 개인 연구용으로 사용한다면 수집을 하더라도 문제가 될 소지는 많지 않습니다.감사합니다!
- 0
- 2
- 75
질문&답변
md파일 수정만 하는게 아니라 실제 파일 수정
안녕하세요. /init 명령어는 gemini 에 기본적으로 있는 명령어이고 GEMINI.md 파일을 기본적으로 생성해 줍니다.혹시 다음과 같이 /i 만 했을 때 init 명령이 보이는지 확인을 부탁드립니다.기존에 GEMINI.md 파일이 있다면 파일이 있다고 만들어지지 않아 다른이름으로 백업을 해두시고 해보셔도 좋습니다.(사진) 두번째 마크다운 파일만 생성해 달라고 했는데 파이썬 파일까지 생성할 수 있습니다. 저는 코드는 작성하지 말고 문서 내용만 정리해 달라고 얘기할 때도 있습니다. GEMINI는 확률모델이기 때문에 마크다운 문서만 만들어 달라고 했는데도 그 내용을 실행까지 해버리기도 합니다. 그래서 코드 작성까지는 하지 말고 문서만 만들어 달라고 강조해서 얘기해 보세요. 그랬는데도 코드까지 생성한다면 /clear를 통해 대화를 초기화 하고 다시 얘기해 보세요! 감사합니다!
- 0
- 3
- 96
질문&답변
26번 영상과 23번 영상이 같습니다
안녕하세요. 이용에 불편을 드려 죄송합니다.해당 영상 교체가 완료되었습니다.즐거운 주말 되세요!감사합니다.
- 0
- 1
- 58
질문&답변
영상에 사용한 슬라이드
안녕하세요. 해당 사이트 링크로 혹시라도 불안하실까 하여 왜 카스퍼스키가 경고 메시지를 출력하는지도 함께 전달드립니다.자바스크립트 코드 등을 실행하는 이벤트 등도 카스퍼스키가 위험하다고 판단하는 요소가 되었을 수도 있을 듯 합니다. 해당 사이트의 코드에는 악성 코드나 관련 cdn 등의 링크는 없습니다.아마도 uv 설치 관련 명령어가 원인이었을 거 같습니다. uv 는 많은 파이썬 개발자들이 사용하는 도구이며, 공식문서 기준으로 작성되었으니 이 부분 또한 참고 부탁드리겠습니다.다음의 답변도 함께 참고해 보세요 => https://chatgpt.com/share/69390b49-f700-800f-82e2-578b4cfb226b
- 0
- 2
- 60
질문&답변
영상에 사용한 슬라이드
안녕하세요. 강의 이용에 불편을 드려 죄송합니다.아마도 사용하시는 보안 프로그램에서 깃허브가 소스코드 저장소이기 때문에 보안 설정을 해둔거 같습니다.해당 강의에 PDF 파일로 다운로드 받으실 수 있게 강의에 PDF 형테로 파일을 첨부해 두었습니다. 다음 화면처럼 강의의 자료 다운로드 기능을 활용해서 PDF 버전을 다운로드 받아주세요!링크는 기존 슬라이드의 버튼 상단에 기입되어 있으니 해당 링크를 선택해서 필요한 도구를 설치해 주세요! 감사합니다!(사진)
- 0
- 2
- 60
질문&답변
Component 수는 어떻게 지정을 해야 할까요?
안녕하세요! LDA나 NMF에서 최적의 컴포넌트 수(토픽의 개수, K)를 찾는 방법에 대해 질문해주셨네요. 토픽 모델링에도 비슷한 정량적 지표들이 있으며, 가장 널리 사용되는 것은 'Perplexity'와 'Coherence Score' 입니다.하지만 군집 분석과 마찬가지로, 이 지표들이 항상 정답을 알려주는 것은 아니며, 최종적으로는 사람이 직접 토픽의 품질을 보고 판단하는 정성적 평가가 매우 중요합니다. 1. 정량적 평가 지표 (Quantitative Metrics)가. Coherence Score (응집도 점수) Coherence Score는 생성된 토픽이 얼마나 의미적으로 일관성 있는지를 측정하는 지표입니다. 즉, 한 토픽 내에 등장하는 상위 단어들이 서로 얼마나 연관성이 높은지를 계산합니다.해석: 점수가 높을수록 의미적으로 일관된, 사람이 해석하기 좋은 토픽이 생성되었음을 의미합니다.사용법:다양한 K 값 (예: 5, 10, 15, ..., 100)에 대해 LDA/NMF 모델을 각각 학습시킵니다.각 모델에 대해 Coherence Score를 계산합니다.K 값에 따른 Coherence Score를 그래프로 그립니다.그래프에서 점수가 가장 높게 나타나는 지점(Peak)이나, 점수가 급격히 꺾이며 안정화되는 지점을 최적의 K 후보로 선택합니다.종류: C_v, Umass, C_uci, C_npmi 등 여러 계산 방식이 있으며, 일반적으로 C_v가 사람의 판단과 가장 유사한 경향을 보여 많이 사용됩니다. Python의 gensim 라이브러리에서 쉽게 계산할 수 있습니다.실루엣 스코어와의 유사점: 군집이 얼마나 잘 형성되었는지 측정하는 실루엣 스코어처럼, Coherence Score는 토픽이 얼마나 의미적으로 잘 형성되었는지 측정합니다.나. Perplexity (혼잡도)Perplexity는 모델이 학습 데이터를 얼마나 잘 설명하는지를 나타내는 지표로, 모델이 테스트 데이터를 얼마나 잘 예측하는지를 측정합니다.해석: 값이 낮을수록 모델이 데이터를 잘 설명(예측)한다는 의미입니다.사용법:K 값에 따른 Perplexity를 그래프로 그립니다.그래프의 기울기가 완만해지는 지점 (Elbow Point)을 최적의 K 후보로 선택합니다.주의사항:Perplexity는 K가 커질수록 계속해서 낮아지는 경향이 있습니다.이 경우, 토픽이 너무 세분화되어 사람이 해석하기 어려운 수많은 토픽이 생성될 수 있습니다.Perplexity가 낮다고 해서 반드시 사람이 해석하기 좋은 토픽인 것은 아닙니다. 최근에는 Perplexity보다 Coherence Score를 더 신뢰하는 추세입니다.엘보우 플롯과의 유사점: 군집 내 거리(inertia)가 줄어드는 엘보우 플롯처럼, Perplexity도 특정 지점에서 감소율이 둔화되는 '팔꿈치' 지점을 찾습니다.2. 정성적 평가 방법 (Qualitative Evaluation)정량적 지표는 훌륭한 가이드라인을 제공하지만, 최종 결정은 결국 사람이 해야 합니다. 토픽 모델링의 주된 목적은 '사람이 이해하고 인사이트를 얻는 것'이기 때문입니다.방법:Coherence Score나 Perplexity를 통해 찾은 몇 개의 K 후보(예: K=20, 25, 30)를 정합니다.각 K 값으로 학습된 모델의 토픽별 상위 단어 목록을 직접 출력해 봅니다.아래 기준에 따라 토픽의 품질을 평가합니다.해석 가능성 (Interpretability): 각 토픽의 단어들이 하나의 의미 있는 주제로 묶이는가? (예: '농구', '축구', '야구', '선수' -> '스포츠' 토픽)차별성 (Distinctiveness): 각 토픽들이 서로 다른 주제를 다루고 있는가? 아니면 비슷한 토픽이 중복되는가?잡음 (Junk Topics): 의미 없는 단어(불용어, 특수문자 등)로만 구성된 토픽이 있는가?최종 선택: 정량적 지표가 가장 좋았던 K가 아니더라도, 사람이 보기에 가장 해석이 잘 되고, 비즈니스 목적에 부합하는 토픽들을 생성하는 K를 최종적으로 선택합니다.실용적인 접근법 (Workflow)K의 범위 설정: 분석하려는 문서의 양과 도메인 지식을 바탕으로 K의 대략적인 범위를 설정합니다. (예: 10부터 100까지 5단위로)정량적 지표 계산: 설정한 K 범위 내에서 각 K 값에 대해 모델을 학습시키고 Coherence Score (C_v)와 Perplexity를 계산합니다.시각화 및 후보 선정: K 값에 따른 두 지표를 그래프로 그려봅니다. Coherence Score가 가장 높은 지점과 Perplexity의 엘보우 지점을 중심으로 2~3개의 K 후보를 선정합니다.정성적 평가: 선정된 K 후보들에 대해 각각 토픽 결과를 출력하여 직접 눈으로 확인하고, 가장 해석 가능하고 유용한 토픽을 생성하는 K를 최종적으로 선택합니다.즐거운 연휴 주말되시길 바라겠습니다.감사합니다.
- 0
- 2
- 53






