无法读取 API 响应数据
Unable to read API responce data
我正在尝试从下面看到的 URL 获取数据
import requests
import json
service_a = requests.get('https:xxxxx')
service_b = requests.get('https:xxxxx')
service_a.json()
service_b.json()
虽然对于 service_a 的情况,service_a.json() 给出了预期的数据,对于 service_b,调用 service_b.json() 给出了以下错误:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib/python3/dist-packages/requests/models.py", line 892, in json
return complexjson.loads(self.text, **kwargs)
File "/usr/lib/python3/dist-packages/simplejson/__init__.py", line 518, in loads
return _default_decoder.decode(s)
File "/usr/lib/python3/dist-packages/simplejson/decoder.py", line 370, in decode
obj, end = self.raw_decode(s)
File "/usr/lib/python3/dist-packages/simplejson/decoder.py", line 400, in raw_decode
return self.scan_once(s, idx=_w(s, idx).end())
File "/usr/lib/python3/dist-packages/simplejson/scanner.py", line 79, in scan_once
return _scan_once(string, idx)
File "/usr/lib/python3/dist-packages/simplejson/scanner.py", line 70, in _scan_once
raise JSONDecodeError(errmsg, string, idx)
simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
为什么会这样?
ps。我注意到当我尝试访问 service_a 的 https link 时,它包含的数据显示在浏览器中,而对于 sevice_b,没有显示数据浏览器,但当我单击它时,一个包含其数据的文件会下载到我的计算机中。
尝试检查 service_b 响应的内容类型。
import csv
response = requests.get(API_URL)
decoded_data = response.content.decode("utf-8")
csv_data = csv.reader(decoded_data.splitlines(), delimiters=",")
csv_list = list(csv_data)
在大多数情况下,您的
JSONDecodeError: Expecting value: line 1 column 1 (char 0)
错误是由于:
- 不符合JSON 的引用
- XML/HTML输出(即以<开头的字符串),或者
- 不兼容的字符编码
我正在尝试从下面看到的 URL 获取数据
import requests
import json
service_a = requests.get('https:xxxxx')
service_b = requests.get('https:xxxxx')
service_a.json()
service_b.json()
虽然对于 service_a 的情况,service_a.json() 给出了预期的数据,对于 service_b,调用 service_b.json() 给出了以下错误:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib/python3/dist-packages/requests/models.py", line 892, in json
return complexjson.loads(self.text, **kwargs)
File "/usr/lib/python3/dist-packages/simplejson/__init__.py", line 518, in loads
return _default_decoder.decode(s)
File "/usr/lib/python3/dist-packages/simplejson/decoder.py", line 370, in decode
obj, end = self.raw_decode(s)
File "/usr/lib/python3/dist-packages/simplejson/decoder.py", line 400, in raw_decode
return self.scan_once(s, idx=_w(s, idx).end())
File "/usr/lib/python3/dist-packages/simplejson/scanner.py", line 79, in scan_once
return _scan_once(string, idx)
File "/usr/lib/python3/dist-packages/simplejson/scanner.py", line 70, in _scan_once
raise JSONDecodeError(errmsg, string, idx)
simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
为什么会这样?
ps。我注意到当我尝试访问 service_a 的 https link 时,它包含的数据显示在浏览器中,而对于 sevice_b,没有显示数据浏览器,但当我单击它时,一个包含其数据的文件会下载到我的计算机中。
尝试检查 service_b 响应的内容类型。
import csv
response = requests.get(API_URL)
decoded_data = response.content.decode("utf-8")
csv_data = csv.reader(decoded_data.splitlines(), delimiters=",")
csv_list = list(csv_data)
在大多数情况下,您的
JSONDecodeError: Expecting value: line 1 column 1 (char 0)
错误是由于:
- 不符合JSON 的引用
- XML/HTML输出(即以<开头的字符串),或者
- 不兼容的字符编码