【发布时间】:2022-01-12 04:44:09
【问题描述】:
当我尝试执行 API 获取请求时出现错误。我是新手,所以我知道的不多,而且我不断收到错误消息。 api 的信息在这里:https://github.com/aravindasiva/demotivational-quotes-api,我使用的 API 是这个https://demotivation-quotes-api.herokuapp.com/graphql API 响应位于 json 数组中,我试图从中提取特定信息。任何帮助表示赞赏。
import requests
import json
def get_quote():
response = requests.get('https://demotivation-quotes-api.herokuapp.com/graphql')
json_data = json.loads(response.text)
quote = json_data[0]['quote'] + " -" + json_data[0]['author']
return(quote)
quote = get_quote()
print(quote)
错误:
Traceback (most recent call last):
File "main.py", line 11, in <module>
quote = get_quote()
File "main.py", line 6, in get_quote
json_data = json.loads(response.text)
File "/usr/lib/python3.8/json/__init__.py", line 357, in loads
return _default_decoder.decode(s)
File "/usr/lib/python3.8/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python3.8/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
【问题讨论】:
-
做 repr(response.text) 或 print("{}".format(response.text)) 你会看到问题。我不是pythonist,也许直接打印(response.text)也可以
-
当我尝试这些解决方案中的每一个时,我都会收到相同的错误: Traceback (last last call last): File "main.py", line 12, in
print(response.text) NameError:名称“响应”未定义 -
你找到了问题......没有 response.text 这样的东西。现在对响应使用相同的方法,看看你有什么
-
我不太明白你的意思?
标签: python json python-requests