这一章中,使用API的基本实践,是从Github中提取广受欢迎的仓库,然后将其可视化。
今天依然首先使用2016版教材,全程走下来没有什么问题,但是在看最终结果的时候,得到的svg文件不论用什么浏览器打开都不能够实现交互性,添加的自定义工具提示当然也没有什么用。大概的原因,还是pygal本身升级了,代码的运作模式发生了改变。
针对API调用本身,不论是2020年的教材还是2016的教材,都差不多,如下:
url = 'https://api.github.com/search/repositories?q=language:python&sort=stars'
r = requests.get(url)
response_dict = r.json()
repo_dicts = response_dict['items']
- 用“
import requests
”导入requests模块;用import json
导入json模块 - 使用方法get(),放入指定的url地址,请求,并且获得返回值
- 用json()方法来将获得的返回值(json格式的)转换为Python可以理解的字典,并且存入
response_dict
之中 - 通过键‘items’,将
response_dict
对应的库都放到我们新创建的空字典repo_dicts
中。这样就完成了基础信息的收集,可用于下面图像的绘制了。
按照2016版教材,使用pypal堆的代码如下:
import requests
import pygal
from pygal.style import LightColorizedStyle as LCS, LightenStyle as LS
url = 'https://api.github.com/search/repositories?q=language:python&sort=stars'
r = requests.get(url)
response_dict = r.json()
repo_dicts = response_dict['items']
names, stars = [], []
for repo_dict in repo_dicts:
names.append(repo_dict['name'])
stars.append(repo_dict['stargazers_count'])
#333366属于深蓝色
my_style