inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

미세먼지부터 작동이 되지 않습니다.

해결됨

파이썬 무료 강의 (활용편3) - 웹 스크래핑 (5시간)

코드를 전부 입력하고 동작을 시켰는데 자꾸 [오늘의 날씨] Traceback (most recent call last): File "c:/Users/HP_20H2/Desktop/PythonWorkspace/webscraping/project.py", line 34, in <module> scrape_weather() #오늘의 날씨 정보 가져오기 File "c:/Users/HP_20H2/Desktop/PythonWorkspace/webscraping/project.py", line 21, in scrape_weather pm10 = dust.find_all("dd")[0].get_text() # 미세먼지 AttributeError: 'NoneType' object has no attribute 'find_all' PS C:\Users\HP_20H2\Desktop\PythonWorkspace> 로만 출력이 됩니다. 어느 부분에서 잘못 입력을 하였는지 알려주시면 감사하겠습니다. import requests from bs4 import BeautifulSoup def scrape_weather (): print ( "[오늘의 날씨]" ) url = "https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=1&ie=utf8&query= %E C %84% 9C %E C%9A%B8+ %E B %82% A0 %E C %94% A8" res = requests . get ( url ) res . raise_for_status () soup = BeautifulSoup ( res . text , "lxml" ) # 맑음, 어제 기온과 같음 cast = soup . find ( "p" , attrs ={ "class" : "cast_txt" }).get_text() # 현재 00도, (최저 / 최고) curr_temp = soup . find ( "p" , attrs ={ "class" : "info_temperature" }).get_text().replace( "도씨" , "" ) # 현재온도 min_temp = soup . find ( "span" , attrs ={ "class" : "min" }).get_text() # 최저 온도 max_temp = soup . find ( "span" , attrs ={ "class" : "max" }).get_text() # 최고 온도 # 오전 / 오후 강수 확률 morning_rain_rate = soup . find ( "span" , attrs ={ "class" : "point_time morning" }).get_text().strip() # 오전 강수확률 afternoon_rain_rate = soup . find ( "span" , attrs ={ "class" : "point_time afternoon" }).get_text().strip() # 오후 강수확률 # 미세먼지 정보 dust = soup . find ( "di" , attrs ={ "class" : "indicator" }) pm10 = dust .find_all( "dd" )[ 0 ].get_text() # 미세먼지 pm25 = dust .find_all( "dd" )[ 1 ].get_text() # 초미세먼지 # 출력 print ( cast ) print ( "현재 {} ( 최저 {} / 최고 {} )" . format ( curr_temp , min_temp , max_temp )) print ( "오전 {} / 오후 {} " . format ( morning_rain_rate , afternoon_rain_rate )) print () print ( "미세먼지 {} " . format ( pm10 )) print ( "초미세먼지 {} " . format ( pm25 )) print () if __name__ == "__main__" : scrape_weather () #오늘의 날씨 정보 가져오기

  • 파이썬프로젝트
  • python
  • 오늘의날씨
  • 웹-크롤링
  • selenium
  • 웹 스크래핑
꿀잼사슴 댓글 1 좋아요 0 조회수 382

인기 태그

인프런 TOP Writers

주간 인기글