【发布时间】:2021-09-03 03:22:22
【问题描述】:
我对这整个请求的东西都很陌生。我试图从一个 url 获得响应,并且有几次我能够做到。但是,经过几次尝试并添加新的代码行后,它停止了工作。 这是我遇到问题的代码部分:
api_request = requests.get("https://www.airnowapi.org/aq/observation/zipCode/current/?format=application/json&zipCode=12345&distance=5&API_KEY=1234-1234-1234-1234")
api = json.loads(api_request.content)
city = api[0]["Reporting Area"]
它告诉我变量 city 没有定义,因此 requests.get() 部分不成功。 我读过其他一些有同样问题的人,但他们的问题与标题有关(我尝试复制解决方案,但他们似乎没有用)。我还尝试在 google 上复制 url 并正确打开了 json 文件,所以这是一个 Python 问题。 谢谢!
【问题讨论】:
-
可能把键"ReportingArea"的空格去掉,改为"ReportingArea"。
-
你应该看看
api是什么,你会发现你需要:city = api[0]["ReportingArea"] -
您是否检查过手动查询该 URL?也许它有错误。根据您的代码,您总是假设来自 URL 的响应是包含
"Reporting Area"的 dict 列表,但如果 URL 导致 500 服务器错误怎么办? -
此代码将生成一个
IndentationError。第二行和第三行是否应该与第一行对齐?请阅读How to Ask。我们无法猜测哪些错误是相关的,哪些是拼写错误。