python Web API(一)

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

 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值