好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

实用主义 | 如何跟随大佬快乐学习?

做为一个程序猿,github是我们经常使用的网站之一。

但是上面大佬太多,还有各种非常牛逼的开源项目,为了达到我学(zhuang)习(bi)的目的,我关注了很多大佬,看大佬都star了哪些项目,紧跟大佬的步伐。

虽然github是有邮件提醒的功能,但说实在的除了工作邮箱经常使用,其余的邮箱只是偶尔查看一下,完全没办法满足我想第一时间知道大佬动态的需求,所以只好自己动手丰衣足食。

分析需求

拿崔大的github举例,我们首先要获取崔大github上star了哪些项目,当出现新的项目的时候,就提醒我们或者打开项目页面。

开始编码

首先我们找到github上关于用户star项目的api:

 https://api.github测试数据/users/{用户名}/starred  

其次,分析访问api返回的信息,用浏览器打开可以看到页面显示的内容格式是json,json中id就是star的项目的唯一标识。

我们只需要获取全部的id,当有新的项目id出现时,提醒我们就可以完成我们紧跟大佬步伐的需求了。

完整编码

以崔大的github为例,当有新的star项目时为我们打开项目地址,且每10分钟检测一次:

 import?requests import?webbrowser import?time #?api指定了follow的这个人star的所有项目,该用户是Germey api?=?"https://api.github测试数据/users/Germey/starred" #?先访问一次api,获取star列表 info?=?requests.get(api).json() starred?=?[] #?将star列表中的项目id存到list变量中 for?i?in?info: ????starred.append(i['id'])  while?True: ????#?获取star的项目 ????info?=?requests.get(api).json() ????for?i?in?info: ????????#?如果当前项目id在list变量中不存在,则说明是刚刚star的项目 ????????if?not?i['id']?in?starred: ????????????starred.append(i['id']) ????????????#?获取项目名称 ????????????repo_name?=?i['name'] ????????????#?获取作者名称 ????????????owner?=?i['owner']['login'] ????????????#?在浏览器中打开项目 ????????????web_page?=?"https://github测试数据/"?+?owner?+?"/"?+?repo_name ????????????webbrowser.open(web_page) ????#?每隔600秒(10分钟)检查一次 ????time.sleep(600)  

这样就完成了我们想要学(zhuang)习(bi)的目的了。

咸鱼普拉思

一只咸鱼在编程路上的摸爬滚打,记录摸索中的点点滴滴。

查看更多关于实用主义 | 如何跟随大佬快乐学习?的详细内容...

  阅读:40次