#python #json #url #python-requests
#python #json #url #python-запросы
Вопрос:
Я запускаю функцию, которая извлекает файлы JSON из отдельных URL-адресов. Однако некоторые файлы больше не существуют или у меня нет доступа (на веб-странице отображается только «Не прошедший проверку подлинности»). В любом случае, по этому URL-адресу нет доступной информации. Я понимаю, что приведенные ниже if и else не имеют смысла, но я включил их, чтобы показать, что я пытаюсь сделать.
def data (ticker):
url = "https://eodhistoricaldata.com/api/fundamentals/{ticker}.LSE?api_token".format(ticker=ticker)
with requests.get(url, verify=True) as response:
data = response.json()
if len(data)>1:
print (data)
else:
skip
Ответ №1:
Вы можете проверить код состояния и решить, что делать в каждом конкретном случае. Например:
def data(ticker):
url = "https://eodhistoricaldata.com/api/fundamentals/{ticker}.LSE?api_token".format(ticker=ticker)
with requests.get(url, verify=True) as response:
if response.status_code == 401:
print("Not authorized")
elif response.status_code == 404:
print("Not found")
else:
data = response.json()
# your logic
Вы можете изучить response
объект и использовать его для определения более детального поведения (например: использовать reason
атрибут или распечатать содержимое ответа).