2024.08.28 수요일 기준 날씨 정보 가져오기 소스코드입니다 (참고하세요 : ) )
230
8 asked
개인적으로 만든거다 보니, 부족한 면이 많습니다.
헷갈리시는 분들이나 조금 어렵다고 느껴지는 분들을 위해서 공유해드려요 !
import requests
from bs4 import BeautifulSoup
'''
[오늘의 날씨]
흐림, 어제보다 00도 높아요
현재 00도 (최저 00도 / 최고 00도)
오전 강수확률 00% / 오후 강수확률 00%
미세먼지 좋음
초미세먼지 좋음
'''
def scrape_weather():
print("[오늘의 날씨]")
url = "https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=0&ie=utf8&query=%EB%82%A0%EC%94%A8"
res = requests.get(url)
res.raise_for_status()
soup = BeautifulSoup(res.text, "lxml")
cast = soup.find("p", class_="summary").get_text()
curr_temp = soup.find("div", class_="temperature_text").get_text().replace("현재 온도", "") # 현재온도
targets = soup.find_all("li", class_="week_item today")
min_temp = targets[0].find("span", class_="lowest").get_text() # 최저 온도
max_temp = targets[0].find("span", class_="highest").get_text() # 최고 온도
morning_and_afternoon = targets[0].find_all("span", class_="weather_left")
morning_rain_rate = morning_and_afternoon[0].get_text() # 오전 강수확률
afternoon_rain_rate = morning_and_afternoon[1].get_text() # 오후 강수확률
dust_list = soup.find_all("li", class_="item_today")
pm10 = dust_list[0].get_text() # 미세먼지
pm25 = dust_list[1].get_text() # 초미세먼지
# 출력
print(cast)
print(f"현재 {curr_temp} ({min_temp} / {max_temp})")
print(f"강수확률 {morning_rain_rate.strip()} / {afternoon_rain_rate.strip()}")
print()
print(f"{pm10.strip()}")
print(f"{pm25.strip()}")
print()
if __name__ == "__main__":
scrape_weather() # 오늘의 날씨 정보 가져오기
Answer 1
0
안녕하세요, 인프런 AI 인턴입니다.
님의 코드는 Naver로부터 웹 페이지의 HTML을 가져와 BeautifulSoup을 사용하여 웹 스크래핑을 진행하는 파이썬 스크립트입니다. 이 스크립트는 날씨 정보를 추출하여 출력하는 기능을 수행합니다. BeautifulSoup와 requests 라이브러리를 사용하여 웹의 HTML을 파싱하고, 특정 HTML 요소에서 텍스트 정보를 추출하여 현재 날씨, 최저/최고 온도, 강수 확률, 미세먼지 및 초미세먼지 수준을 출력합니다.
웹 스크래핑에 관심이 있으시다면 더 많은 BeautifulSoup의 기능과 선택자를 활용하는 방법, 그리고 HTML 구조가 변경되었을 시 대처 방안 등을 공부해 보시는 것도 좋을 것 같습니다.
질문이 있으시다면 언제든지 문의해 주세요!
selenium 업그레이드됨... 문법도 바뀜
1
286
1
24년, 부동산 퀴즈 코드입니다. 참고하세요!!
0
177
1
git hub에 push할때 user-agent가 노출되도 상관이 없나요 ?
0
185
1
selenium 관련 web push notification 제어 질문
0
569
1
print(soup.a) 태그 값이 None으로 나옵니다.
0
1177
4
soup으로 검색한 버튼 또는 text를 click할때 어떻게 하나요 ?
1
3561
1
웹툰 사이트 body 안에가 안불러져옵니다.
0
677
2
네이버 웹툰을 활용한 BeautifulSoup 강좌에서 인터페이스가 달라졌습나다.
0
993
1
구글 무비 강좌에서요
0
399
0
네이버 IT뉴스 화면 requets.get 에러가 발생합니다ㅜ
0
432
0
23년 2월 7일, 다음 부동산 화면이 다름
0
404
0
네이버 항공권 관련 제가 작성한 코드 조심스럽게 공유해드립니다.ㅜ
7
2525
2
bs4 활용 2-1 질문합니다.
0
505
2
csv파일 깨짐
0
313
0
url 에러? (\UXXXXXXXX escape)
0
310
0
네이버 쇼핑으로 하면 왜 결과가 안 뜰까요?
0
380
0
쿠팡대신 네이버 쇼핑에서하는데, 5개 아이템만 나옵니다.
0
366
0
쿠팡 requests에 오류가 생기네요
0
2905
1
URL 문제
0
389
0
request 설치
0
315
0
from selenium import webdriver ?
0
348
1
네이버웹툰 랭크가 안불러져요...;;
0
299
0
안녕하세요 에러문의드려요
0
216
0
안녕하세요 오류해결부탁드립니다
0
336
0

