Не удается получить ответ json из запроса http - PullRequest
2 голосов
/ 16 апреля 2019

Я пытаюсь получить ответ 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)

Ответы [ 2 ]

6 голосов
/ 16 апреля 2019

Из документов :

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

Вам необходимоиметь 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'}
1 голос
/ 16 апреля 2019

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

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