如何使用Python获取UN Comtrade数据?

如何使用Python获取UN Comtrade数据?,python,json,api,Python,Json,Api,我需要使用python调用从中获取数据,但是当我这样做时,我会得到一个错误。然而,如果我在R中也这样做,我就会得到一本字典。我不明白为什么会这样 我的Python代码: import requests url='http://comtrade.un.org/data/api/get?max=500&type=C&freq=A&px=HS&ps=2018&r=152&p=all&rg=all&cc=851712' un_data=re

我需要使用python调用从中获取数据,但是当我这样做时,我会得到一个错误。然而,如果我在R中也这样做,我就会得到一本字典。我不明白为什么会这样

我的Python代码:

import requests
url='http://comtrade.un.org/data/api/get?max=500&type=C&freq=A&px=HS&ps=2018&r=152&p=all&rg=all&cc=851712'
un_data=requests.get(url)
print(un_data.content)
我的R代码:

install.package(jsonlite)
library(jsonlite)
un_data<-fromJSON('http://comtrade.un.org/data/api/get?max=500&type=C&freq=A&px=HS&ps=2018&r=152&p=all&rg=all&cc=851712')
View(un_data)
install.package(jsonlite)
图书馆(jsonlite)

un_data您的请求URL中有一个轻微的异常。而不是将基本url设置为
http://comtrade.un.org/api/data/get
,应该是
http://comtrade.un.org/api/get

这可能与Comtrade API从旧旧版本过渡到新版本有关,尽管我不确定。在任何情况下,您都可以在此处测试API调用:

以下是您的reprex的工作版本:

import requests
url='https://comtrade.un.org/api/get?max=500&type=C&freq=A&px=HS&ps=2018&r=152&p=all&rg=all&cc=851712'
un_data=requests.get(url)
print(un_data.content)