inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Bài giảng Python miễn phí (Cách sử dụng Phần 3) - Quét web (5 giờ)

Thời tiết hôm nay (Naver Weather)

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

Đã giải quyết

365

letskirill

11 câu hỏi đã được viết

0

코드를 전부 입력하고 동작을 시켰는데 자꾸 

[오늘의 날씨]

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=%EC%84%9C%EC%9A%B8+%EB%82%A0%EC%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_tempmin_tempmax_temp))
    print("오전 {} / 오후 {}".format(morning_rain_rateafternoon_rain_rate))
    print()
    print("미세먼지 {}".format(pm10))
    print("초미세먼지 {}".format(pm25))
    print()

if __name__ == "__main__":
    scrape_weather() #오늘의 날씨 정보 가져오기

파이썬프로젝트 python 오늘의날씨 웹-크롤링 selenium 웹 스크래핑

Câu trả lời 1

0

letskirill

dl을 di라고 적었네요... 수정했습니다

selenium 업그레이드됨... 문법도 바뀜

1

289

1

2024.08.28 수요일 기준 날씨 정보 가져오기 소스코드입니다 (참고하세요 : ) )

0

236

1

24년, 부동산 퀴즈 코드입니다. 참고하세요!!

0

180

1

git hub에 push할때 user-agent가 노출되도 상관이 없나요 ?

0

185

1

selenium 관련 web push notification 제어 질문

0

571

1

print(soup.a) 태그 값이 None으로 나옵니다.

0

1180

4

soup으로 검색한 버튼 또는 text를 click할때 어떻게 하나요 ?

1

3563

1

웹툰 사이트 body 안에가 안불러져옵니다.

0

679

2

네이버 웹툰을 활용한 BeautifulSoup 강좌에서 인터페이스가 달라졌습나다.

0

994

1

구글 무비 강좌에서요

0

399

0

네이버 IT뉴스 화면 requets.get 에러가 발생합니다ㅜ

0

434

0

23년 2월 7일, 다음 부동산 화면이 다름

0

409

0

네이버 항공권 관련 제가 작성한 코드 조심스럽게 공유해드립니다.ㅜ

7

2541

2

bs4 활용 2-1 질문합니다.

0

505

2

csv파일 깨짐

0

315

0

url 에러? (\UXXXXXXXX escape)

0

311

0

네이버 쇼핑으로 하면 왜 결과가 안 뜰까요?

0

382

0

쿠팡대신 네이버 쇼핑에서하는데, 5개 아이템만 나옵니다.

0

368

0

쿠팡 requests에 오류가 생기네요

0

2910

1

URL 문제

0

390

0

request 설치

0

321

0

from selenium import webdriver ?

0

351

1

네이버웹툰 랭크가 안불러져요...;;

0

303

0

안녕하세요 에러문의드려요

0

222

0