许多⽹站都有⼀些通过
JSON
或其他格式提供数据的公共
API
。
通过
Python
访问这些
API
的办法有不少。⼀个简单易⽤的办法
(推荐)是
requests
包(
http://docs.python-requests.org
)。
为了搜索最新的
30
个
GitHub
上的
pandas
主题,我们可以发⼀个
HTTP GET
请求,使⽤
requests
扩展库
In [113]: import requests
In [114]: url = 'https://api.github.com/repos/pandas-dev/pandas/issues'
In [115]: resp = requests.get(url)
In [116]: resp
Out[116]: <Response [200]>
响应对象的
json
⽅法会返回⼀个包含被解析过的
JSON
字典,加
载到⼀个
Python
对象中:
In [117]: data = resp.json()
In [118]: data[0]['title']
Out[118]: 'Period does not round down for frequencies less tha
data
中的每个元素都是⼀个包含所有
GitHub
主题⻚数据(不包含
评论)的字典。我们可以直接传递数据到
DataFrame
,并提取感
兴趣的字段:
In [119]: issues = pd.DataFrame(data, columns=['number', 'title',
.....: 'labels', 'state'])
In [120]: issues
data
中的每个元素都是⼀个包含所有
GitHub
主题⻚数据(不包含
评论)的字典。我们可以直接传递数据到
DataFrame
,并提取感
兴趣的字段
issues = pd.DataFrame(data, columns=['number', 'title', 'labels','state'])
直接打印issues控制台会省略一些字段,可通过设置参数:
pd.set_option('display.max_columns', None)设置最大显示的列数为None,意味着不限制显示所有列
pd.set_option('display.max_columns', int) int表示你要返回的列数;
花费⼀些精⼒,你就可以创建⼀些更⾼级的常⻅的
Web API
的接
⼝,返回
DataFrame
对象,⽅便进⾏分析。