• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

기상청 기온정보 크롤링 관련 질문

22.05.07 09:32 작성 조회수 518

0

안녕하세요, 기상청 기온정보 크롤링 관련 질문이 있습니다.

현재 기상청 접속 URL 이 아래와 같이 변경된 것으로 보입니다.

https://www.weather.go.kr/w/obs-climate/land/past-obs/obs-by-day.do?stn=108&yy=2021&mm=12&obs=1

 

또한 태그 구조나 명칭도 변경된 것 같은데

weather_info로 클래스 가져오는 부분에 넣어야 할 클래스명은

아래와 같이 over-scroll 이라는 이름으로 변경하는 것으로 생각했습니다. 

weather_infor = soup.select(".over-scroll")

위와 같이 변경해봤습니다. 

위 조건에서  weather info를  확인해보니 다음과 같았습니다. 

 

강의에서 나온 태그 구조나 클래스 이름이 모두 변경된 것 같아서 

예를 들어 기상청 사이트에서 21년 12월 1일의 태그 형식이 아래와 같습니다. 

 

위의 조건에서 아래 코드를 실행하면 강사님 결과와 같은 결과가 나오지 않습니다.

아래 코드는 진행에 문제가 있었습니다. 

# 기온정보 
list_climate_info = list() 
# 일자정보 
list_day_info = list() 

for day_weather in weather_info: 
  # 작업 1. 공백문자 제거 
  if(day_weather.get_text().isspace() != True):      
      # 작업 1-1. 기온정보 
      if(day_weather.get_text().find("평균기온") == 0): 
        list_climate_info.append(day_weather.get_text())  
      # 작업 1-2. 일자정보 
      else: 
        list_day_info.append(day_weather.get_text())

 

제가 변경한 조건에서 위 코드를 실행하면....

아래와 같이 동일한 결과가 아닌데 어떻게 변경해야할지 모르겠습니다. 도움을 부탁드립니다. 

답변 1

답변을 작성해보세요.

0

안녕하세요!
말씀주신대로 기상청 온도정보 사이트(kma.go.kr) 이 2022년초에 종료되었다고 합니다. 
강의를 들으시는데 불편함을 드려서 죄송합니다. 일단 진행에 차질이 없으시도록 소스코드를
현재 기상청 사이트 (https://www.weather.go.kr/w/obs-climate/land/past-obs/obs-by-day.do)
기준으로 다시 만들었습니다.


* 2022년 개편된 기상청 사이트 기준의 Google Colab 소스코드 
강의 수강생 전용 공지사항에 소스코드를 등록해놓았으니 해당 내용 참고해주시면 되겠습니다 ^^ 

바뀐 소스정보를 간단하게 설명드리면 
1. 모듈 import 영역
정규식과 캘린더 라이브러리 추가되었습니다. 


2. 온도 정보를 beautiful soup으로 가져오는 부분 변경 

아래 붉은색 표기한 부분까지 클래스 혹은 태그를 구체화 시켰놨습니다. 


강의는 아직 생성하진 않았습니다만 별도 강의나 설명을 추가하여 들으시는데 혼선이 없으시도록 해놓겠습니다. 강의에 관심 갖고 들어주셔서 감사합니다. 추가적인 의문사항 있으시면 언제든 말씀 부탁드리겠습니다.

감사합니다!