BeautifulSoup - объект 'NoneType' не имеет атрибута 'get_text' - PullRequest
1 голос
/ 07 августа 2020

Результат говорит:

AttributeError: объект 'NoneType' не имеет атрибута 'get_text'

import requests
from bs4 import BeautifulSoup

url = requests.get('https://forecast.weather.gov/MapClick.php?lat=34.05361000000005&lon=-118.24549999999999#.Xy0hrigzaUk')

soup = BeautifulSoup(url.content,'lxml')
week = soup.find(id='seven-day-forecast-body')
items =week.find_all(class_='tombstone-container')
period = [item.find(class_='period-name').get_text() for item in items]
desc = [item.find(class_='short-desc').get_text() for item in items]
temp = [item.find(class_='temp temp-low').get_text() for item in items]
print(period)
print(desc)   
print(temp)

Может ли кто-нибудь сказать мне, что я делаю неправильно. Спасибо!

1 Ответ

2 голосов
/ 07 августа 2020

Вы можете добавить в каждую строку понимания списка if item

Что-то вроде:

[item.find(class_=???).get_text() for item in items if item]

Ошибка в том, что какой-то объект item собственно None. Причина возникновения этой ошибки. Если вы отфильтруете None s, вы будете в безопасности ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...