大家好!这里是记录一个非专业的小白学习python的路径,完全是零基础自学。由于作者刚刚大学毕业所学专业找到的工作不太喜欢,工作空闲时间长,在职学习python语言,想借助这个平台记录一下自己学习的路径,文章有什么错误也希望大佬们积极指出,万分感谢!希望同大家一起学习,一起进步,谢谢。内容基于书籍python编程:从入门到实践 作者:Eric Matthes [美]
一、复习昨日之学习
昨天主要学习的内容是复习上一章内容,上一章节主要学习了使用csv格式的文件绘制气温图表和使用json格式的文件绘制世界人口地图,下面两张是效果图。想要详细了解这些内容的铁子们可以关注作者并翻阅作者10月345号的学习日记进行共同学习。
二、今日新学习今天主要学习web API 获取数据,使用URL请求特定信息的程序交互。什么是URL,指的是获取统一资源的定位符,我们在网站上下载的每一个文件都有它自己独立的URL。今天我们将使用API来获取GitHub(https://github.com/)中的数据。
想详细了解github的可以观看下面这一段文字,当然也可以跳过。
GitHub(https://github.com/)的名字源自Git,Git是一个分布式版本控制系统,让程序员团队能 够协作开发项目。Git帮助大家管理为项目所做的工作,避免一个人所做的修改影响其他人所做的 修改。你在项目中实现新功能时,Git将跟踪你对每个文件所做的修改。确定代码可行后,你提交 所做的修改,而Git将记录项目最新的状态。如果你犯了错,想撤销所做的修改,可轻松地返回以 前的任何可行状态(要更深入地了解如何使用Git进行版本控制,请参阅附录D)。GitHub上的项目 都存储在仓库中,后者包含与项目相关联的一切:代码、项目参与者的信息、问题或bug报告等。 对于喜欢的项目,GitHub用户可给它加星(star)以表示支持,用户还可跟踪他可能想使用的项目。在本章中,我们将编写一个程序,它自动下载GitHub上星级最高的Python项目的信息, 并对这些信息进行可视化。
1.使用API调用的数据到底是怎么样?我们输入https://api.github.com/search/repositories?q=language:python&sort=stars到浏览器中可以得到下面这组数据:
2.安装requests
在终端中输入pip instal -- user requests,下图所示表示安装成功。
3.处理API响应,并将结果存储在字典中 ,并处理该字典,概述最受欢迎的仓库。详细情况请看下面代码,代码中都有详细解释。
运行效果图:
程序源代码:
#coding=gbk
#python_repos.py
import requests
#执行API调用并存储响应
#获取统一资源定位符
url = 'https://api.github.com/search/repositories?q=language:python&stats'
r = requests.get(url)
print("Status code:",r.status_code)#验证请求是否成功200表示成功
#将API响应存储在一个变量中
response_dict = r.json()#使用json格式将数据转换为格式是json的字典
print("Total repositories:",response_dict['total_count'])#指出github总共包含多少个python仓库
#探索有关仓库的信息
repo_dicts = response_dict['items']
print("Respositories returned:",len(repo_dicts))#指出获得列表的长度
#研究第一个仓库
repo_dict = repo_dicts[0]#提取第一个仓库进行研究
#print("nKeys:",len(repo_dict))#打印字典键数
#for key in sorted(repo_dict.keys()):
# print(key)#遍历所有键并打印
print("nSelected information about first repository:")
for repo_dict in repo_dicts:#遍历repo_dicts中所有字典
print("nName:",repo_dict['name'])#项目名称
print("Owner:",repo_dict['owner']['login'])#项目所有者
print("Stars:",repo_dict['stargazers_count'])#所获星级
print("Repository:",repo_dict['html_url'])#url
print("Created:",repo_dict['created_at'])#项目创建时间
print("Updated:",repo_dict['updated_at'])#最后更新时间
print("Description:",repo_dict['description'])
明天我们将继续学习将仓库使用pygal可视化。
如果想了解更多知识点或有什么问题请留言或关注作者,并多多点赞支持,您的观看点赞是对我最大回礼,最大的动力,谢谢!



