데이터 분석 65일
정의:
- 프로그램 간에 데이터를 주고받기 위한 정식 통로
- 웹사이트가 서버에서 정보를 꺼내오도록 공식적으로 제공하는 방식
예시:
- 날씨 정보를 제공하는 기상청 API에 요청하면, 현재 날씨 데이터를 JSON 형식으로 받을 수 있다.
장점:
- 빠르고 안정적
- 구조화된 데이터 제공 (JSON, XML 등)
- 법적 문제 적음 (공식 제공)
정의:
- HTML에 이미 적혀 있는 내용을 수집하는 방식
- 웹페이지 소스를 보면 바로 보이는 텍스트/데이터를 크롤링함
예시:
- 블로그 글, 뉴스 기사처럼 페이지를 열자마자 다 보이는 경우
기술:
- requests, BeautifulSoup 같은 파이썬 라이브러리로 처리 가능
장점:
- 간단하고 빠름
- 구현 쉬움
단점:
- 자바스크립트로 불러오는 데이터는 못 가져옴
정의:
- 자바스크립트를 실행한 뒤 생기는 데이터를 가져오는 방식
- 즉, 처음 HTML에는 없지만, 웹페이지가 열리고 나서야 생기는 데이터
예시:
- 쇼핑몰에서 "더보기" 버튼 누르면 상품이 더 나오는 경우
- 또는 스크롤 내릴수록 데이터가 로딩되는 경우
기술:
- Selenium, Playwright 같은 브라우저 자동화 도구를 사용
장점:
- 사용자가 보는 그대로 크롤링 가능
단점:
- 느리고 무거움
- 구조가 복잡해서 에러나기 쉬움
| 항목 | API | 정적 크롤링 | 동적 크롤링 |
|---|---|---|---|
| 데이터 제공 방식 | 공식적으로 제공 | HTML에 바로 있음 | JS 실행 후 생김 |
| 속도 | 빠름 | 빠름 | 느림 |
| 난이도 | 낮음~중간 | 낮음 | 높음 |
| 주요 도구 | requests, json 등 | BeautifulSoup 등 | Selenium, Playwright 등 |
| 적합한 상황 | 신뢰도 높은 데이터 수집 | 단순한 웹페이지 | 자바스크립트 기반 웹페이지 |