Web API 是网页中的一部分 使用具体的URL 请求特定的信息程序交互
https://www.cnblogs.com/guyun/p/4589115.html、
例如
https://api.github.com/search/repositories?q=language:python&sort=start
返回github上 关于python的仓库的一些信息
下面我们需要安装requests模块来轻松的向网页请求信息 以及检查返回的响应
pip install --user requests
因为之前写过爬虫所以已经安装过requests
下面我们来处理API响应
import requests
url = 'https://api.github.com/search/repositories?q=language:python&sort=start'
r = requests.get(url)
print('status code:',r.status_code)
response_dict = r.json()
print(response_dict.keys())
于是我们可以知道状态码为200(表示请求成功) 响应字典包含三个key
下面我们来处理响应字典
import requests
url = 'https://api.github.com/search/repositories?q=language:python&sort=start'
r = requests.get(url)
print('status code:',r.status_code)
response_dict = r.json()
print('total repostiories:',response_dict['total_count'])
repo_dicts = response_dict['items'] #items关联的是一个列表 其中元素是字典 这里我们将这个列表存在repo_dicts中
print('repostiories returned:',len(repo_dicts))
repo_dict = repo_dicts[0]#我们研究这个列表中的第一个字典 也就是第一个仓库
print('\nkeys:',len(repo_dict))
for key in sorted(repo_dict.keys()):
print(key)
从返回值中我们可以看到 状态码200成功访问 共计3743553个仓库 在返回值中我们拿到了一个含有30个储存着仓库信息的字典元素的列表 然后我们研究了第一个仓库 打印了它的所有key(共计74个属性)
下面我们基于上面的发现继续研究第一个仓库
url = 'https://api.github.com/search/repositories?q=language:python&sort=start'
r = requests.get(url)
print('status code:',r.status_code)
response_dict = r.json()
print('total repostiories:',response_dict['total_count'])
repo_dicts = response_dict['items'] #items关联的是一个列表 其中元素是字典 这里我们将这个列表存在repo_dicts中
print('repostiories returned:',len(repo_dicts))
repo_dict = repo_dicts[0]#我们研究这个列表中的第一个字典 也就是第一个仓库
print('name:',repo_dict['name'])
print('owner:',repo_dict['owner'])#这里的属性我们通过以下代码即可获取
"""
for key in sorted(repo_dict.keys()):
print(key)
"""
需要注意的是大部分web api是不可能让你无限制使用api 获取信息的 我们怎样查看限制呢?
浏览器输入
https://api.github.com/rate_limit