我有一个我似乎无法解决自己的问题,我希望这里的人可能有另一个可以帮助我的想法。
我的计划是从商品交易中抓取多个国家和时间范围的数据,但即使是我的第一个电话也无法正常工作。我要发送获取请求的URL是http://comtrade.un.org/api/get?&r=32&freq=A&ps=2013&px=H4&cc=AG6&type=C&rg=2&p=0&head=M,如果我在邮递员中输入此数据,我会收到包含大量数据集的正确响应,但是如果我尝试从python中获取响应,则
“ {{消息”:'不允许使用空参数或空值。有关更多信息,请访问http://comtrade.un.org/data/doc/api/'}“
相反。该API不进行任何身份验证,我没有设置任何标头,也没有对邮递员进行任何其他类型的更改,但是在这里可以正常工作。
请查看我的代码,并告诉我我做错了什么。我错过了什么吗?
您可以使用上述URL自己每小时最多进行100次尝试,也许您可以找到一种方法:)
我的代码:
import json
import requests
url = "http://comtrade.un.org/api/get?&r=32&freq=A&ps=2013&px=H4&cc=AG6&type=C&rg=2&p=0&head=M"
f = requests.get(url, timeout=300)
x = json.loads(f.text)
print(x)
答案 0 :(得分:2)
URL格式错误,应将?&
替换为?
,这样正确的URL变为:
https://comtrade.un.org/api/get?r=32&freq=A&ps=2013&px=H4&cc=AG6&type=C&rg=2&p=0&head=M
答案 1 :(得分:0)
import json
import requests
url = "http://comtrade.un.org/api/get?r=32&freq=A&ps=2013&px=H4&cc=AG6&type=C&rg=2&p=0&head=M"
f = requests.get(url, timeout=300)
x = json.loads(f.text)
print(x)
希望有帮助。