실제 웹 페이지 스크래핑- 영화 리뷰 데이터 수집
앞서 배운 BeautifulSoup을 이용한 텍스트 콘텐츠 추출 및 정제 방법을 바탕으로, 이번에는 실제 웹 페이지에서 데이터를 수집하는 실전을 해볼 것이다. 네이버 날씨에서 오늘의 서울 지역 날씨 정보를 스크래핑하는 실전을 진행할 것이다. 현재 온도, 날씨 상태, 강수 확률 등을 추출하고, 이를 깔끔하게 정리된 형태로 출력하는 과정을 다루고자 한다.
웹 페이지 분석 및 스크래핑 계획 수립
네이버 날씨 페이지(https://search.naver.com/search.naver?query=날씨)를 예시로 스크래핑을 어떻게 할지 계획을 세워 보자.
HTML 구조 분석: 크롬 브라우저의 개발자 도구(F12)를 이용하면 날씨 정보가 담긴 영역을 찾을 수 있다.
- 현재 온도:
<div class="temperature_text>
태그 아래 텍스트 - 날씨 상태:
<span class="weather before_slash">
태그 - 습도:
<dd class="desc">
태그 (여러 개 중 “%” 텍스트를 포함하는 태그)
데이터 추출: BeautifulSoup을 이용하여 해당 태그를 찾고, 각 태그 내부의 텍스트를 추출한다.
파이썬 코드 작성 및 실행
1 | import requests |
추가 분석 및 활용
앞에서 수집한 날씨 정보는 다양한 방식으로 활용될 수 있다.
- 개인 비서 서비스: 사용자에게 매일 아침 현재 날씨 정보를 제공하거나, 날씨 변화에 따라 우산, 겉옷 착용 등을 알려줄 수 있다.
- 날씨 알림 서비스: 특정 지역의 기온, 강수 확률 등 미리 설정된 조건에 따라 사용자에게 알림을 전송하는 서비스를 구축할 수 있다.
- 데이터 분석: 날씨 정보를 장기간 수집하고 분석하여 특정 지역의 날씨 변화 패턴을 파악하거나, 다른 데이터와 결합하여 날씨가 특정 현상에 미치는 영향을 분석할 수 있다.
한 가지 주의할 점이라면 웹 스크래핑은 robots.txt 규칙과 저작권법을 준수해야 하며, 대상 서버에 부담을 주지 않도록 스크래핑 빈도를 조절해야 한다.
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.