Я пытаюсь получить данные с сайта http://weather.uwyo.edu/upperair/sounding.html'. Я написал следующий скрипт, но проблема в том, что некоторые станции на данном сайте не имеют никаких данных. Таким образом, он выдает ошибку как «AttributeError: объект NoneType» не имеет атрибута «текст». Я хочу написать некоторое условие, чтобы там, где нет данных, он пропускал эту станцию и переходил к следующей станции.
попробовать:
для станции на станции:
year = '2017'
month = '08'
day = '14'
hour = '00'
end = '12'
url = requests.get('http://weather.uwyo.edu/cgi-bin/sounding?region=naconf&TYPE=TEXT%3ALIST&YEAR='+year+'&MONTH='+month+'&FROM='+day+hour+'&TO='+day+end+'&STNM='+str(stn))
soup = BeautifulSoup(url.text,'html.parser')
data_box = soup.find('pre')
data = data_box.text.strip()
print (data)
кроме AttributeError:
print («Нет данных для станции», AttributeError)
import sys
import webbrowser
import urllib3
import requests
import lxml.html as lh
import pandas as pd
from time import sleep
from bs4 import BeautifulSoup
import csv
station =[42647,42101] # [42101] #,42647,42971,43371]
try:
for stn in station:
year = '2017'
month = '08'
day = '14'
hour = '00'
end = '12'
url = requests.get('http://weather.uwyo.edu/cgi-bin/sounding?region=naconf&TYPE=TEXT%3ALIST&YEAR='+year+'&MONTH='+month+'&FROM='+day+hour+'&TO='+day+end+'&STNM='+str(stn))
soup = BeautifulSoup(url.text,'html.parser')
data_box = soup.find('pre')
data = data_box.text.strip()
except AttributeError :
print("No data available for station", AttributeError)
print (data)
Я ожидаю, что он должен печатать данные для станций с доступными данными, пропуская станции, где данные недоступны. Но вывод:
Нет данных для станции
Traceback (последний вызов был последним):
Файл "sound.py", строка 30, в
data = data_box.text.strip ()
AttributeError: у объекта 'NoneType' нет атрибута 'text'