Не удается получить ответ json из http-запроса

#python #http #https #python-requests

#python #http #https #python-запросы

Вопрос:

Я пытаюсь получить ответ JSON с помощью модуля запросов. Было интересно, знает ли кто-нибудь, что может быть причиной этого.

 import requests

url = "https://www.google.com/"

data = requests.get(url)

data.json()
 

Ошибка:

вызовите JSONDecodeError(«Ожидаемое значение», s, err.value) из None json.decoder.JSONDecodeError: Ожидаемое значение: строка 1 столбец 1 (символ 0)

Ответ №1:

Из документации:

В случае сбоя декодирования JSON r.json() вызывает исключение. Например, если ответ получает 204 (без содержимого) или если ответ содержит недопустимый JSON, попытка r.json() вызывает ошибку ValueError: объект JSON не может быть декодирован.

Вам нужно иметь a url , который мог бы возвращать json :

 import requests

url = 'https://github.com/timeline.json'    
data = requests.get(url).json()    
print(data)
 

ВЫВОД:

 {'message': 'Hello there, wayfaring stranger. If you’re reading this then you probably didn’t see our blog post a couple of years back announcing that this API would go away: http://git.io/17AROg Fear not, you should be able to get what you need from the shiny new Events API instead.', 'documentation_url': 'https://developer.github.com/v3/activity/events/#list-public-events'}
 

Ответ №2:

Страница, которую вы возвращаете, не является json, ее html