python - 用Python通过api访问Json数据

标签 python json api web-scraping economics

我正在尝试在此位置访问 Atlas Observatory of Economic Complexity API: http://atlas.media.mit.edu/about/api/data/

使用下面的代码

import pandas as pd
import numpy as np
import matplotlib as mpl
from urllib2 import urlopen
import csv as csv
import json


url = "http://atlas.media.mit.edu/hs/export/2010/show/all/all/"
mydata=open(urllib2.urlopen(url))
response = json.loads(mydata)

我收到以下错误

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-38-fbe696d9098d> in <module>()
      8 
      9 url = "http://atlas.media.mit.edu/hs/export/2010/show/all/all/"
---> 10 mydata=open(urlopen(url))
     11 response = json.loads(mydata)
     12 

TypeError: coercing to Unicode: need string or buffer, instance found

我不熟悉通过 python 从 API 访问数据,所以我可能缺少一些简单的东西。目标是获取贸易数据并将其放入 Pandas 数据框中。作为奖励,如果有人有任何在 python 中使用 API 的好资源,请告诉我。

最佳答案

我推荐使用requestshttp://docs.python-requests.org/en/latest/ .它可以通过 pip 安装,是一个建立在 urllib2 之上的非常干净的界面。

import requests
url = "http://atlas.media.mit.edu/hs/export/2010/show/all/all/"
response = requests.get(url)
mydata = response.text

关于python - 用Python通过api访问Json数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26111992/

相关文章:

python - 猎豹模板过滤器

python - 调用 sys.exit() 后不触发 atexit

api - 如何生成 Magento 的 API 文档/文档?

python - 获取由我公司完成的 DHL 的所有追踪号码

python - 通过对列中的前一个值求和并相乘,在 Pandas 中创建一个列

python - mypy 列表中对象继承的问题

javascript - 访问 Json 对象

c++ - RapidJSON 循环遍历字符串数组?

javascript - Angular : Filter Multiple Items

javascript - 如何在 Photoshop JavaScript API 中加载图层透明度并另存为路径?