用 Python 自动监测 GitHub 项目更新

来源| GitPython

01 

项目概述
要知道Github项目的更新,提醒方式是邮箱,而大家平时都是不怎么用邮箱的!
那么,如果项目更新,我们怎么能及时的发现,并打开项目主页呢?
项目地址:
https://github.com/kenwoodjw/python_interview_question
02 
实现过程
1)获取数据
Github官方提供了详细的数据接口,并且数据是以Json字符串的方式保存的。
项目的数据地址:
https://api.github.com/repos/kenwoodjw/python_interview_question
每一个项目的数据地址,类似于本地磁盘目录。
我们通过数据接口的url地址,就可以获取到更新时间。

    
    
import request

# 1.Github项目及API接口数据
api = 'https://api.github.com/repos/kenwoodjw/python_interview_question'
web_page = "https://github.com/kenwoodjw/python_interview_question

# 2.发送请求,获取数据
all_info = requests.get(api).json()

# 3.解析想要的数据,并打印
cur_update = all_info['updated_at']
print(cur_update)
2)定时监测数据变化
3)打开网页
设置一个循环,每隔10分钟获取一次update_at的数据,如果前后时间不一致,说明数据更新,并自动打开项目主页。

    
    
while True:

    all_info = requests.get(api).json()
    cur_update = all_info['updated_at']
    print(cur_update)

    # 假设第一次运行之前,不知道上次的更新时间
    # 如果last_update 为 none,会执行下面的语句,把当前的时间给到上次时间
    if not last_update:
        last_update = cur_update

    # 第一次两个时间相等,不会执行
    # 假设10分钟后,cur_update更新,那么就会自动打开网页
    # 接下来,把 当前时间 赋值 给上次时间
    # 开始新一轮的监测
    if last_update < cur_update:
        webbrowser.open(web_page)
        last_update = cur_update

    # 间隔 10分钟,再次while循环,观察新的更新时间是否发生变化
    time.sleep(600)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值