如果你有自己在本地维护一个开源代码库,你就会知道检测这些库是否更新了是多麻烦的一件事情

。随着库的增大,人工维护成本也就越来越大。因此便有了这个项目的想法

:让我们用Python监控Github项目是否有更新,如果有的话自动下载该更新!

1.统一文件名格式

为了能够获取github上的项目的更新时间,我们需要调用github的一个API:

https://api.github.com/repos/用户名/库名

可以看到,这个API由 用户名/库名 组成,因此我们的文件名应该以它为标准才能方便API的调用,由于文件名不可以带有 '/' 这样的特殊符号,因此我们改为下划线分割,如FastText项目调用API的时候为:

https://api.github.com/repos/facebookresearch/fastText

我们保存的文件名则为facebookresearch_fastText.zip这样,在调用API、下载文件的时候将会方便许多

2.获得文件夹里所有文件名及最后修改时间

为了判断github上的项目是否相对于本地有更新,我们需要获得每一个本地的文件的最后修改时间,因此这是一个字典关系。代码如下:

3.与Github线上项目对比更新时间

首先我们要通过调用我们前面说提到的API 获取github线上项目的时间。其次,一定要将其格式化为10位时间戳,因为我们第二步获得的时间也是10位时间戳,这样对比起来非常方便。最后返回的时候只需要返回是否需要更新即可。如图所示。

代码如下:

4.如果有需要更新的项目,让其自动下载

由于许多github项目文件压缩包都挺大的,我们这里采用了流式下载。如果你的项目特别多,你需要更快地进行下载,请采用批量异步下载。在我们之前的那篇文章里都有,点击即可阅读。

5. 整套流程

我们把已经下载好的项目文件放在libs文件夹里,自动下载得到的文件放置在new文件夹中。文件结构如下:

F:\pythondict\pythondict-downloads\│ superviser.py│├─libs│ facebookresearch_fastText.zip│ facebookresearch_MUSE.zip│└─new

整套代码如下,为了防范盗取文章的家伙,原谅我这里是图片的格式,如果需要请复制以下链接或点击阅读原文查看本部分:https://pythondict.com/download/python-watch-github-update-download/

我们的文章到此就结束啦,如果你希望我们今天的Python 教程,请持续关注我们,如果对你有帮助,麻烦在下面点一个赞/在看哦

,有任何问题都可以在下方留言区留言,我们都会耐心解答的!

Python实用宝典(pythondict.com)不只是一个宝典欢迎关注公众号:Python实用宝典

python实时监控网站更新_Python监控Github项目更新并自动下载相关推荐

  1. python实现监控数据界面_python 监控界面

    MySQL MTOP - 开源 MySQL 企业监控系统 MySQLMTOP是一个由Python+PHP开发的MySQL企业级监控系统.系统由Python实现多进程数据采集和告警,PHP实现WEB展示 ...

  2. [京东价格监控网站]自定义商品监控/品类商品监控/降价邮件提醒

    在京东购物时,你是否遇到如下情况: 心仪的商品降价了,你却一无所知,等发现了却只有四个大字"到货登记" 你设置了京东自带的降价提醒,结果京东在降价后很久才发邮件提醒你或者干脆没有提 ...

  3. python怎么爬网站视频教程_python爬虫爬取某网站视频的示例代码

    把获取到的下载视频的url存放在数组中(也可写入文件中),通过调用迅雷接口,进行自动下载.(请先下载迅雷,并在其设置中心的下载管理中设置为一键下载) 实现代码如下: from bs4 import B ...

  4. python玩王者荣耀皮肤_python 王者荣耀皮肤高清图片下载 附源码

    本帖最后由 你isbest 于 2018-3-20 16:33 编辑 最近在学python ,用python做了一个王者荣耀的皮肤高清图片的下载工具,发给大家这个是从官网下载一个json文件,所以是实 ...

  5. python普通类实现接口_python实现头条项目接口自动化测试实战

    教程简介 python+reqeust库,轻松实现黑马头条项目接口自动化 讲解方式 课程内容条理清晰,目标明确,由浅入深,环环相扣.重点部分进行额外梳理和总结,更易理解和吸收. 课程亮点 1.接口测试 ...

  6. python监控网页更新_python监控网页更新

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  7. python 监控键盘输入_python 监控键盘输入

    软件测试精品文章汇总 测试基础 python测试开发库及项目 谷歌如何测试软件 python工具书籍下载-持续更新 2018软件测试标准汇总下载 python测试开发自学每周一练 python测试工具 ...

  8. python监控windows日志_Python 监控日志的简单示例

    这篇文章主要为大家详细介绍了Python 监控日志的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 一个简易的 ...

  9. python 监控键盘输入_python监控键盘输入实例代码

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  10. python抓取网站图片_python抓取图片示例 python抓取网页上图片

    python抓取网页上图片 这个错误时是什么意思 下面是代码 import re import urllib.request imp正则表达式匹配的url有错误 for x in add: print ...

最新文章

  1. Linux访问Windows磁盘实现共享
  2. SpringBoot - 构建监控体系02_定义度量指标和 Actuator 端点
  3. 全面解读java虚拟机
  4. r 数据框选子集_在带有组合框的值列表的下拉列表中显示显示属性的子集
  5. html总结:文本框填满表格
  6. java.security.AccessControlException: access denie
  7. 20150318知识小结
  8. 創世記(一): 一至三章
  9. 概率论——负二项随机变量
  10. CSS 渐变背景 之 线性渐变
  11. HTML/CSS/Javascript在线代码运行网站汇总
  12. 外贸企业邮箱那个好用,哪个企业邮箱最好用?
  13. ‘\0’ ,‘0’, “0” ,0之间的区别
  14. 逻辑推理题:海盗分金币
  15. 【你真的知道?】凤凰、鸳鸯、石狮的雌雄之分
  16. 软件设计师教程(十三)计算机系统知识-软件系统分析与设计
  17. 1602LCD主要技术参数
  18. adobe 奥多比bridge extention等产品 “安装程序无法初始化。请下载Adobe Support Advisor检测该问题”
  19. webp 项目总结以及思考
  20. 电驱动机电一体化仿真

热门文章

  1. html如何开发影音播放器app,js HTML5多媒体影音播放
  2. 如何确定聚类簇数 (k)
  3. 【C盘内存不足的解决方法】
  4. oracle中锁机制,Oracle锁的基本机制
  5. “System.ComponentModel.Win32Exception配额不足,无法处理此命令。”问题
  6. java98道经典面试题
  7. (报错解决)Exception encountered during context initialization
  8. FMI飞马网 | 在人工智能时代,如何更好地发挥大数据的价值?
  9. PCM开发板模块实验指导--2.4G无线通讯模块NRF24L01实验
  10. 安卓adb push图片到相册后刷新相册(Mac版)