🌤️ 날씨 대시보드
📋 프로젝트 개요
웹에서 실제 날씨 데이터를 가져와서 아름다운 HTML 대시보드를 만들어보세요! Unit 10에서 배운 requests와 BeautifulSoup을 활용하여 실용적인 프로그램을 만드는 프로젝트입니다.
🎯 학습 목표
- requests로 웹페이지 데이터 가져오기
- BeautifulSoup으로 HTML 파싱하기
- 파이썬 데이터를 HTML로 변환하기
- 아름다운 웹페이지 만들기
🚀 필수 요구사항
1. 날씨 데이터 수집
네이버 검색을 활용한 날씨 정보 수집
- 네이버에서 “서울 날씨”를 검색한 결과 페이지에서 정보 추출
- User-Agent 헤더 설정하여 요청
- BeautifulSoup으로 HTML 파싱
수집해야 할 정보
- 현재 온도
- 날씨 상태 (맑음, 흐림, 비 등)
- 최저/최고 온도
- 체감온도
- 습도
- 바람 정보 (방향, 속도)
- 미세먼지 상태
- 초미세먼지 상태
- 자외선 지수
2. HTML 파일 생성
weather.html 파일 생성
- 수집한 날씨 데이터를 보여주는 HTML 파일
- 파이썬 코드로 HTML 문자열 생성
- 파일로 저장하여 브라우저에서 볼 수 있도록 구현
디자인 요구사항
- 반응형 디자인 (모바일에서도 예쁘게 보이기)
- 날씨 상태에 따라 다른 배경색 사용
- 날씨 아이콘 사용 (이모지)
- 글래스모피즘 효과 적용
- 카드 형태로 정보 표시
3. 에러 처리
안정적인 프로그램 만들기
- 네트워크 오류 시 적절한 메시지 출력
- 데이터를 찾지 못했을 때 기본값 사용
- 예외 처리로 프로그램이 중단되지 않도록 구현
💻 실행 예시
$ python weather_scraper.py
🌈 파이썬 웹 크롤링 - 날씨 정보 가져오기
💯 100% 파이썬으로만 작동합니다!
📍 방법 1: 네이버 검색 시도...
🌐 서울 날씨 정보를 가져오는 중...
✓ 현재 온도: 18°
✓ 날씨 상태: 구름많음
✓ 최저/최고: 15° / 25°
✓ 체감온도: 17°
✓ 습도: 65%
✓ 바람: 서풍 2.3m/s
✓ 미세먼지: 보통
✓ 초미세먼지: 좋음
✓ 자외선: 보통
🎨 weather.html 파일 생성 완료!
📂 브라우저에서 weather.html 파일을 열어보세요!
📝 완성 체크리스트
🌤️ 날씨 대시보드 체크리스트
🎨 디자인 참고
날씨별 배경 그라데이션
- 맑음: 파란색 → 하늘색
- 흐림: 회색 → 연회색
- 비: 남색 → 하늘색
- 눈: 연한 파란색 → 연한 보라색
날씨 아이콘
- ☀️ 맑음
- 🌤️ 구름조금
- ☁️ 구름많음
- 🌧️ 비
- ❄️ 눈
정보 카드 디자인
- 글래스모피즘 효과 (반투명 + 블러)
- 둥근 모서리
- 부드러운 그림자
- 아이콘과 함께 정보 표시
🔧 실행 방법
# 1. 프로젝트 폴더 생성
mkdir weather-dashboard
cd weather-dashboard
# 2. 가상환경 생성 (선택사항)
python -m venv venv
source venv/bin/activate # Mac/Linux
# venv\Scripts\activate # Windows
# 3. 필요한 라이브러리 설치
pip install requests beautifulsoup4
# 4. 프로그램 실행
python weather_scraper.py
# 5. 생성된 HTML 파일 열기
# weather.html 파일을 더블클릭하여 브라우저에서 확인
🎉 완성 후
완성된 날씨 대시보드를 친구들과 공유해보세요! 매일 아침 실행해서 오늘의 날씨를 확인할 수 있는 나만의 날씨 앱이 완성되었습니다.
Last updated on