使用Python通过api访问Json数据

时间:2014-09-30 02:50:42

标签: python json api web-scraping economics

我正在尝试访问此地点的Atlas经济复杂性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的数据,所以可能会有一些我想念的简单内容。目标是获取交易数据并将其放入熊猫数据框中。如果有人在python中使用API​​有任何好的资源,请告诉我们。

1 个答案:

答案 0 :(得分:4)

我建议使用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