前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >实用主义 | 如何跟随大佬快乐学习?

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

作者头像
咸鱼学Python
发布2019-10-09 14:45:42
4070
发布2019-10-09 14:45:42
举报
文章被收录于专栏:咸鱼学Python咸鱼学Python

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

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

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

分析需求

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

开始编码

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

代码语言:javascript
复制
https://api.github.com/users/{用户名}/starred

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

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

完整编码

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

代码语言:javascript
复制
import requests
import webbrowser
import time
# api指定了follow的这个人star的所有项目,该用户是Germey
api = "https://api.github.com/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.com/" + owner + "/" + repo_name
            webbrowser.open(web_page)
    # 每隔600秒(10分钟)检查一次
    time.sleep(600)

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 咸鱼学Python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 分析需求
  • 开始编码
  • 完整编码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档