📌 웹 스크래핑이란?
웹 스크래핑은 컴퓨터 소프트웨어 기술을 활용해 웹 사이트 내의 정보를 자동으로 추출하는 것입니다. 다양한 웹 데이터를 수집하여 분석하는 데 유용한 기술입니다.
🚦 웹 스크래핑 과정
- 주제 선정
원하는 데이터를 수집할 주제를 선택합니다.
- 원하는 데이터를 갖고 있는 사이트 찾기
수집하려는 정보가 포함된 웹사이트를 찾습니다.
- 웹 사이트 분석
데이터가 위치한 웹사이트의 HTML 구조를 분석합니다.
- 웹 사이트에서 데이터 추출
웹 크롤링 도구나 파이썬 라이브러리(예: BeautifulSoup)를 이용해 데이터를 추출합니다.
- 데이터 처리
추출한 데이터를 정리하고 필요한 형식으로 변환합니다.
- 데이터 활용
가공된 데이터를 분석, 시각화, 또는 다른 용도로 활용합니다.
💻 웹 스크래핑 주의사항
1. 데이터 수집을 위한 규칙성 있는 사이트 찾기
- 규칙적인 HTML 구조가 있는 사이트를 선택하여 데이터를 손쉽게 수집합니다.
- 규칙이 없는 사이트에서는 데이터 추출이 어려워 효율성이 떨어질 수 있습니다.
2. 수집한 데이터의 상업적 이용 주의
- 저작권이나 데이터베이스권을 침해하지 않도록 주의가 필요합니다.
- 웹사이트의 이용 약관을 반드시 확인하세요.
3. 서버 부하를 일으키지 않도록 주의
- 웹 크롤링은 간격을 두고 실행하여 서버 부하를 줄여야 합니다.
- 과도한 요청은 사이트에 문제를 일으킬 수 있으니 조심하세요.
4. 웹사이트는 자주 변하므로 유연한 대응이 필요
- 웹사이트가 변경될 때마다 스크래핑 코드를 수정해야 할 수 있습니다.
5. 로봇 배제 표준(Robots Exclusion Standard) 준수
- 사이트의 robots.txt 파일을 확인하여 크롤링 및 스크래핑 규정을 따릅니다.
- 예를 들어, User-agent: *는 모든 봇을, Disallow: /는 모든 페이지 접근을 금지합니다.
🧪 로봇 배제 표준(robots.txt) 예시
항목설명사용 예
User-agent |
웹 크롤링 봇의 이름, *는 전체 대상 |
User-agent: Googlebot |
Disallow |
접근을 금지할 경로 |
Disallow: /admin/ |
Allow |
접근을 허용할 경로 |
Allow: /help/ |
Crawl-delay |
접근 주기 제한 시간 (초) |
Crawl-delay: 30 |
Sitemap |
사이트맵 파일의 URL |
Sitemap: https://www.google.com/sitemap.xml |
예시 1: 특정 봇만 허용하는 규칙
User-agent: *
Disallow: /
User-agent: Yeti
Allow: /
예시 2: 모든 봇에 대해 수집을 허용하는 규칙
✅ 크롤링 또는 스크래핑에 앞서…
- 시간적 여유가 있다면, 해당 서비스 운영사에 API 요청을 하는 것이 가장 좋습니다. API는 데이터를 직접적으로 제공하는 공식적인 방법입니다.
- API 요청이 어려운 경우 스크래핑을 통해 데이터를 수집할 수 있습니다.