专栏首页咸鱼学Python实用主义 | 如何跟随大佬快乐学习?

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

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

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

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

分析需求

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

开始编码

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

https://api.github.com/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.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)的目的了。

本文分享自微信公众号 - 咸鱼学Python(xianyuxuepython)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-12-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C# HTTP系列10 form表单的enctype属性

    在ASP.NET编程中经常遇到下面的代码片段,将人员信息以表单方式提交到后台程序并保存到服务器与数据库中。

    张传宁老师
  • 半自动添加Grafana 模板之 ---- POST提交

    目前我们生产环境,每次新加DB机器都要人肉去添加模板,这种方式显然不是一个IT从业人员应该做的。急需完善流程。

    二狗不要跑
  • IT兄弟连 JavaWeb教程 AJAX的技术构成

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    ITXDL
  • datatables使用教程

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    suveng
  • 《细说PHP》第四版 样章 第23章 自定义PHP接口规范 3

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    ITXDL
  • ajax传参形式

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    suveng
  • 服务端JSON内容中有富文本时

    如果使用的Newtonsoft等第三方库,请无视此问题,第三方库已经帮你处理好了,不会存在此问题。 由于数据中存在复杂的富文本,包含各种引号和特殊字符,导致后...

    从今若
  • C#开发BIMFACE系列4 服务端API之源上传文件

    在注册成为BIMFACE的应用开发者后,要能在浏览器里浏览你的模型或者获取你模型内的BIM数据, 首先需要把你的模型文件上传到BIMFACE。根据不同场景,BI...

    张传宁老师
  • LogStash的安装部署与应用

    1、Logstash是一个接收,处理,转发日志的工具; 2、Logstash支持网络日志、系统日志、应用日志、apache日志等等,总之可以处理所有日志类型; ...

    趣学程序
  • ASP.NET Core 2.2 : 二十一. 内容协商与自定义IActionResult和格式化类

    上一章的结尾留下了一个问题:同样是ObjectResult,在执行的时候又是如何被转换成string和JSON两种格式的呢?

    FlyLolo

扫码关注云+社区

领取腾讯云代金券