数据可视化学习----------------------------------------------调用API

前面已经学习如何生成数据和下载数据,现在要想时刻对网上的数据进行分析,就需要调用API

在浏览器下输入回车:https://api.github.com/search/repositories?q=language:python&sort=stars

需要安装requests模块:

打开命令窗口,键入:pip install --user requests

就OK:

1.处理上面的API响应:

#-*-coding:GBK-*-
#-*-coding:utf-8-*-
import requests
#执行API调用并存储响应
url='https://api.github.com/search/repositories?q=language:python&sort=stars'
r=requests.get(url)
print("status code:",r.status_code)
#将API响应存储到变量
response_dict=r.json()
print(response_dict.keys())

 输出:

根据浏览器的内容:这只是简单调用,

#-*-coding:GBK-*-
#-*-coding:utf-8-*-
import requests
#执行API调用并存储响应
url='https://api.github.com/search/repositories?q=language:python&sort=stars'
r=requests.get(url)
print("status code:",r.status_code)
#将API响应存储到变量
response_dict=r.json()


print("total repositories:",response_dict['total_count'])
#探索仓库的信息
repo_dicts=response_dict['items']
print("repositories returned:",len(repo_dicts))
#研究第一个仓库
repo_dict=repo_dicts[0]
print("\nKeys:",len(repo_dict))
for key in sorted(repo_dict.keys()):
	print(key)

#-*-coding:GBK-*-
#-*-coding:utf-8-*-
import requests
#执行API调用并存储响应
url='https://api.github.com/search/repositories?q=language:python&sort=stars'
r=requests.get(url)
print("status code:",r.status_code)
#将API响应存储到变量
response_dict=r.json()


print("total repositories:",response_dict['total_count'])
#探索仓库的信息
repo_dicts=response_dict['items']
print("repositories returned:",len(repo_dicts))
#研究第一个仓库
repo_dict=repo_dicts[0]
print("Name:",repo_dict['name'])
print("Owner:",repo_dict['owner']['login'])
print('Stars:',repo_dict['stargazers_count'])
print('Repository:',repo_dict['html_url'])
print('Created:',repo_dict['created_at'])
print('Updated:',repo_dict['updated_at'])
print('Description:',repo_dict['description'])

前面只是打印第一个仓库的额相关信息,现在来遍历全部的仓库:

#-*-coding:GBK-*-
#-*-coding:utf-8-*-
import requests
#执行API调用并存储响应
url='https://api.github.com/search/repositories?q=language:python&sort=stars'
r=requests.get(url)
print("status code:",r.status_code)
#将API响应存储到变量
response_dict=r.json()


print("total repositories:",response_dict['total_count'])
#探索仓库的信息
repo_dicts=response_dict['items']
print("repositories returned:",len(repo_dicts))
#概述所有的仓库
for repo_dict in repo_dicts:
	print("Name:",repo_dict['name'])
	print("Owner:",repo_dict['owner']['login'])
	print('Stars:',repo_dict['stargazers_count'])
	print('Repository:',repo_dict['html_url'])
	print('Created:',repo_dict['created_at'])
	print('Updated:',repo_dict['updated_at'])
	print('Description:',repo_dict['description'])

 

采用上节说的,数据可视化更加清晰看到规律性和直观表达信息:

#-*-coding:GBK-*-
#-*-coding:utf-8-*-
import requests
import pygal
from pygal.style import LightColorizedStyle as LCS, LightenStyle as LS
#执行API调用并存储响应
url='https://api.github.com/search/repositories?q=language:python&sort=stars'
r=requests.get(url)
print("status code:",r.status_code)
#将API响应存储到变量
response_dict=r.json()


print("total repositories:",response_dict['total_count'])
#探索仓库的信息
repo_dicts=response_dict['items']
names,stars=[],[]
for repo_dict in repo_dicts:
	names.append(repo_dict['name'])
	stars.append(repo_dict['stargazers_count'])

#可视化
my_style=LS('#333366',base_style=LCS)
chart = pygal.Bar(style=my_style,x_label_rotation=45,show_lengend=False)
chart.title = 'Most-Starred Python Projects on GitHub'
chart.x_labels = names

chart.add('', stars)
chart.render_to_file('python_repos.svg')



 

添加自定义工具提示:

#-*-coding:GBK-*-
#-*-coding:utf-8-*-
import requests
import pygal
from pygal.style import LightColorizedStyle as LCS, LightenStyle as LS
#执行API调用并存储响应
url='https://api.github.com/search/repositories?q=language:python&sort=stars'
r=requests.get(url)
print("status code:",r.status_code)
#将API响应存储到变量
response_dict=r.json()


print("total repositories:",response_dict['total_count'])
#探索仓库的信息
repo_dicts=response_dict['items']
names, plot_dicts = [], []
for repo_dict in repo_dicts:
    names.append(repo_dict['name'])
    
    plot_dict = {
        'value': repo_dict['stargazers_count'],
        'label': repo_dict['description'],
        'xlink': repo_dict['html_url'],
        }
    plot_dicts.append(plot_dict)

#可视化
my_style=LS('#333366',base_style=LCS)
chart = pygal.Bar(style=my_style,x_label_rotation=45,show_lengend=False)
chart.title = 'Most-Starred Python Projects on GitHub'
chart.x_labels = names

chart.add('', plot_dicts)
chart.render_to_file('python_repos.svg')



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值