오늘 배운 것
데이터를 수집하는 방법에는 여러 가지가 있지만, 대표적으로 많이 사용하는 방법은 다음 3가지이다.
프로젝트나 분석 목적에 따라 어떤 방법을 선택할지 달라질 수 있기 때문에, 각각의 특징과 장단점을 정리해보았다.
1. API를 통한 데이터 수집
API(Application Programming Interface)는
서비스나 플랫폼이 제공하는 정해진 방식으로 데이터를 요청하고 받을 수 있는 방법이다.
예를 들어 날씨 정보, 지도 정보, 주식 정보, 번역 기능 등은 대부분 API 형태로 제공된다.
특징
- 서버가 허용한 형식으로 안정적으로 데이터를 받을 수 있다.
- 보통 JSON 또는 XML 형태로 응답한다.
- 인증키(API Key)가 필요한 경우가 많다.
장점
- 데이터 구조가 일정해서 사용하기 편하다.
- 비교적 안정적이고 유지보수가 쉽다.
- 공식 문서가 제공되는 경우가 많아 개발하기 좋다.
단점
- 요청 횟수 제한이 있을 수 있다.
- 원하는 모든 데이터를 제공하지 않을 수 있다.
- 일부 API는 유료다.
예시
- OpenWeather API
- Kakao Map API
- 공공데이터포털 Open API
간단한 흐름
- API 문서를 확인한다.
- 인증키를 발급받는다.
- 요청 URL을 만든다.
- 응답 데이터를 파싱해서 사용한다.
2. 스크래핑을 통한 데이터 수집
스크래핑은 웹페이지에 있는 정보를 직접 가져오는 방식이다.
즉, 사람이 브라우저로 보는 데이터를 프로그램이 대신 읽어오는 것이다.
보통 HTML 구조를 분석해서 원하는 데이터를 추출한다.
특징
- 웹사이트에 표시된 데이터를 수집할 수 있다.
- API가 없는 사이트에서도 활용 가능하다.
- HTML 구조가 바뀌면 코드가 쉽게 깨질 수 있다.
장점
- API가 제공되지 않는 데이터도 수집 가능하다.
- 원하는 페이지에서 필요한 정보만 골라 가져올 수 있다.
- 비교적 자유도가 높다.
단점
- 사이트 구조 변경에 취약하다.
- 크롤링/스크래핑 정책을 반드시 확인해야 한다.
- 과도한 요청은 서버에 부담을 줄 수 있다.
예시
- 뉴스 기사 제목 수집
- 쇼핑몰 상품명, 가격 수집
- 블로그 게시글 목록 수집
주의할 점
robots.txt 정책 확인
- 로그인 필요한 페이지 여부 확인
- 저작권 및 이용약관 확인
- 너무 짧은 간격으로 요청하지 않기
3. 공개 데이터셋 활용
공개 데이터셋은 기관, 기업, 연구소, 플랫폼 등이
누구나 사용할 수 있도록 미리 정리해서 배포한 데이터이다.
CSV, Excel, JSON 형태로 제공되는 경우가 많다.
특징
- 이미 정제된 데이터가 많다.
- 분석, 머신러닝, 시각화 연습에 적합하다.
- 바로 다운로드해서 사용할 수 있다.
장점
- 수집 과정 없이 바로 사용할 수 있다.
- 대량의 데이터를 쉽게 확보할 수 있다.
- 학습용, 실습용으로 매우 좋다.
단점
- 최신 데이터가 아닐 수 있다.
- 원하는 형태와 완전히 일치하지 않을 수 있다.
- 추가 전처리가 필요할 수 있다.
예시
- 공공데이터포털
- Kaggle Dataset
- AI Hub
- 국가통계포털(KOSIS)
세 가지 방법 비교
| 방법 | 설명 | 장점 | 단점 |
|---|
| API | 공식적으로 제공된 방식으로 데이터 요청 | 안정적, 구조가 일정함 | 호출 제한, 일부 유료 |
| 스크래핑 | 웹페이지에서 직접 정보 추출 | API가 없어도 가능 | 구조 변경에 취약 |
| 공개 데이터셋 | 이미 공개된 파일 형태의 데이터 활용 | 바로 사용 가능, 학습용 좋음 | 최신성이 떨어질 수 있음 |
어떤 상황에서 어떤 방법을 쓰면 좋을까?
API가 적합한 경우
- 실시간 데이터가 필요할 때
- 안정적으로 데이터를 가져와야 할 때
- 서비스에서 공식 제공하는 데이터를 활용할 때
스크래핑이 적합한 경우
- API가 없는 웹사이트의 정보가 필요할 때
- 웹페이지에 보이는 특정 데이터만 수집하고 싶을 때
공개 데이터셋이 적합한 경우
- 데이터 분석이나 머신러닝 연습을 할 때
- 빠르게 데이터를 확보해야 할 때
- 정형화된 대량 데이터가 필요할 때
오늘 정리
데이터 수집 방법은 크게 API, 스크래핑, 공개 데이터셋으로 나눌 수 있다.
- API는 가장 안정적이고 공식적인 방식이다.
- 스크래핑은 자유도가 높지만 유지보수에 주의해야 한다.
- 공개 데이터셋은 학습과 분석에 매우 유용하다.
중요한 것은 무조건 한 가지 방법만 고르는 것이 아니라,
목적에 맞는 방법을 선택하는 것이라고 느꼈다.
앞으로 프로젝트를 진행할 때도
“어떤 데이터를 왜 수집하는가?”를 먼저 생각하고
그에 맞는 수집 방식을 선택해야겠다.
한 줄 회고
오늘은 데이터를 가져오는 대표적인 3가지 방법을 정리하면서,
단순히 데이터를 모으는 것보다 어떤 방식이 더 적절한지 판단하는 것도 중요하다는 점을 배웠다.