我正在尝试从LobbyView API访问有关游说支出的数据。根据他们网站上的文档,我正在使用POST请求来收集AT&T Inc和Apple Inc的游说数据。当我为Apple Inc运行以下代码时,API会按预期返回Apple的游说数据。
import requests, json
query = {"legal_name": "Apple Inc"}
results = requests.post('https://www.lobbyview.org/public/api/reports', data = json.dumps(query))
print(results.json())
但是,当我为AT&T Inc运行相同的代码时,API不会返回任何内容。
import requests, json
query = {"legal_name": "AT&T Inc"}
results = requests.post('https://www.lobbyview.org/public/api/reports', data = json.dumps(query))
print(results.json())
我认为问题在于AT&T Inc的名称中包含“&”号。 我应该如何调整代码,以便在data参数包含&符号(例如“ AT&T Inc”)时发出POST请求?
答案 0 :(得分:1)
您可以尝试用%26或\&
替换答案 1 :(得分:0)
您的请求是正确的。
您可以卷曲检查
curl -X POST https://www.lobbyview.org/public/api/reports -d '{"legal_name":"AT&T Inc"}'
返回空记录,但是
curl -X POST https://www.lobbyview.org/public/api/reports -d '{"client_name":"AT&T Services, Inc."}'
返回大量数据。因此问题不是“&”号,很可能是AT&T Inc.没有数据。