前言

文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

作者: GitPython

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

http://note.youdao.com/noteshare?id=3054cce4add8a909e784ad934f956cef

项目概述

要知道Github项目的更新,提醒方式是邮箱,而大家平时都是不怎么用邮箱的!

那么,如果项目更新,我们怎么能及时的发现,并打开项目主页呢?

实现过程

1)获取数据

Github官方提供了详细的数据接口,并且数据是以Json字符串的方式保存的。

每一个项目的数据地址,类似于本地磁盘目录。

我们通过数据接口的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)

用 Python 自动监测 GitHub 项目更新的更多相关文章

  1. Python实用案例,Python脚本,Python实现自动监测Github项目并打开网页

    往期回顾 Python实现文件自动归类 前言: 今天我们就利用Python脚本实现Github项目的更新,提醒方式是邮箱.直接开整~ 项目地址: https://github.com/kenwoodj ...

  2. GitHub项目精选(持续更新)

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190815110442972.jpg?x-oss-process=image/watermark,type_Zm ...

  3. 找python爬虫小项目?github给你准备好了!

    前言 即使我们都是程序员,但我们也并非都会修电脑,都会做酷炫的ppt,都会优化系统卡顿.其实程序员也是分行业.分专业的,就像医生也分内外科.呼吸科.神经科神的. 作为非专业的python选手,或者非专 ...

  4. 2016年GitHub排名前20的Python机器学习开源项目(转)

    当今时代,开源是创新和技术快速发展的核心.本文来自 KDnuggets 的年度盘点,介绍了 2016 年排名前 20 的 Python 机器学习开源项目,在介绍的同时也会做一些有趣的分析以及谈一谈它们 ...

  5. python爬虫---->github上python的项目

    这里面通过爬虫github上的一些start比较高的python项目来学习一下BeautifulSoup和pymysql的使用.我一直以为山是水的故事,云是风的故事,你是我的故事,可是却不知道,我是不 ...

  6. python爬虫scrapy项目详解(关注、持续更新)

    python爬虫scrapy项目(一) 爬取目标:腾讯招聘网站(起始url:https://hr.tencent.com/position.php?keywords=&tid=0&st ...

  7. python 调用github的api,呈现python的受欢迎的程度

    1 使用api调用数据: 在浏览器的地址栏中输入: https://api.github.com/search/repositories?q=language:python&sort=star ...

  8. 优秀大数据GitHub项目一览

    http://blog.csdn.net/yaoxtao/article/details/50540485 优秀大数据GitHub项目一览 VMware CEO Pat Gelsinger曾说: 数据 ...

  9. GitHub——如何更新已经fork的代码

    github上有个很方便的功能叫fork,将别人的工程一键复制到自己账号下.这个功能很方便,但有点不足的是,当源项目更新后,你fork的分支并不会一起更新,需要自己手动去更新.下面记录下网上找到的更新 ...

随机推荐

  1. python的安装以及前景

    1.检查软件是否安装:在cmd命令行上输oython 假如环境已经配置好环境变量 则会显示为python的inf: 2.下载并安装python 打开python官网:https://www.pytho ...

  2. 100本Python机器学习、深度学习电子书,免费送!

    此套电子书收集于网络,如有侵权请联系删除!!! 此套电子书仅用于个人学习,请勿用于商业获利,造成后果自负!!! 这套电子书包括:机器学习.深度学习.数据科学入门.神经网络等 获取资源地址:链接: ht ...

  3. Python实现图片的base64编码

    import base64 if __name__ == "__main__": dir='image.jpg' basef=open(dir.split('.')[0]+'_ba ...

  4. Web前端基础(12):JavaScript(六)

    1. JS中的面向对象 创建对象的几种常用方法: 1.使用Object或对象字面量创建对象 2.工厂模式创建对象 3.构造函数模式创建对象 4.原型模式创建对象 1.1 使用Object或对象字面量创 ...

  5. Display a Detail View with a List View 主子视图-列表视图与详细信息视图同时显示

    In this lesson, you will learn how to display a Detail View together with a List View. For this purp ...

  6. SpringCloud(八):springcloud-bus消息总线(刷新配置服务)

    Bus消息总线: 好了现在我们接着上一篇的随笔,继续来讲.上一篇我们讲到,我们如果要去更新所有微服务的配置,在不重启的情况下去更新配置,只能依靠spring cloud config了,但是,是我们要 ...

  7. 关于kubernetes我们还有什么可做的?

    kubernetes在容器编排大战中由于应用的可移植性以及支持混合云/多云部署方式上的灵活性.加上开放可扩展的理念,使得周边社区非常活跃.从既有调研结果看,kubernetes已成为容器编排领域的标准 ...

  8. LOG日志溯源取证总结

    windows操作系统事件日志 C:\Windows\System32\winevt\Logs\ *( XP C:\Windows\System32) 应用程序日志 App Event.Evtx(Ap ...

  9. 【转载】Android N 完全不同以往的四个新特性

    Google最近发布了Android的下一个版本,Android N的开发者预览版.此次预览版,可以让我们开发者在正式发布之前就测试代码,包括一些新的API,甚至于也可以提前反馈那些对于我们来说有些困 ...

  10. 【Gradle】Java Gradle 插件

    Java Gradle 插件 如何应用 apply plugin:'java' Java插件约定的项目结构 Project |--build.gradle |--src |--main |--java ...