尝试在 python 中调用 REST api 时出现 JSONDecodeError
JSONDecodeError when trying to call REST api in python
我正在尝试访问 opensecrets.org api 以获取有关国会议员的一些信息。我正在尝试访问数据库中每个国会议员的所有行,我在我的 ID 中有这些行,并将它们附加到数据框以进行操作。
这是我的代码:
new_house_df = pd.DataFrame([])
for row in house_crp_id:
r = requests.get('http://www.opensecrets.org/api/?method=candSummary&cid=' + row +
'&cycle=2022&apikey=' + my_key)
data = r.json()
df_temp = pd.DataFrame.from_dict(data['candSummary'])
new_house_df = new_house_df.append(df_temp, ignore_index = True, sort = False)
在 data = r.json()
处产生此错误
JSONDecodeError: Expecting value: line 1 column 1 (char 0)
这是 api 的示例输出。
我正在通过 Whosebug 进行搜索,但没有找到任何可以解释我的代码中的问题的内容,或者是否是 opensecrets 的问题 api。
如果有帮助,这里是文档。 https://www.opensecrets.org/open-data/api-documentation
尝试修复 headers 并使用 output=json
:
headers = {'content-type': 'application/json'}
data = requests.get('http://www.opensecrets.org/api/...?...output=json', headers=headers)
我正在尝试访问 opensecrets.org api 以获取有关国会议员的一些信息。我正在尝试访问数据库中每个国会议员的所有行,我在我的 ID 中有这些行,并将它们附加到数据框以进行操作。
这是我的代码:
new_house_df = pd.DataFrame([])
for row in house_crp_id:
r = requests.get('http://www.opensecrets.org/api/?method=candSummary&cid=' + row +
'&cycle=2022&apikey=' + my_key)
data = r.json()
df_temp = pd.DataFrame.from_dict(data['candSummary'])
new_house_df = new_house_df.append(df_temp, ignore_index = True, sort = False)
在 data = r.json()
JSONDecodeError: Expecting value: line 1 column 1 (char 0)
这是 api 的示例输出。
我正在通过 Whosebug 进行搜索,但没有找到任何可以解释我的代码中的问题的内容,或者是否是 opensecrets 的问题 api。
如果有帮助,这里是文档。 https://www.opensecrets.org/open-data/api-documentation
尝试修复 headers 并使用 output=json
:
headers = {'content-type': 'application/json'}
data = requests.get('http://www.opensecrets.org/api/...?...output=json', headers=headers)