用 Python 自動監測 GitHub 項目更新


前言

文的文字及圖片來源於網絡,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯系我們以作處理。

作者: GitPython

PS:如有需要Python學習資料的小伙伴可以加點擊下方鏈接自行獲取

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

項目概述

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

那么,如果項目更新,我們怎么能及時的發現,並打開項目主頁呢?

在這里插入圖片描述

實現過程

1)獲取數據

在這里插入圖片描述

Github官方提供了詳細的數據接口,並且數據是以Json字符串的方式保存的。

在這里插入圖片描述

每一個項目的數據地址,類似於本地磁盤目錄。

在這里插入圖片描述

我們通過數據接口的url地址,就可以獲取到更新時間。

 1 import request
 2  3 # 1.Github項目及API接口數據
 4 api = 'https://api.github.com/repos/kenwoodjw/python_interview_question'
 5 web_page = "https://github.com/kenwoodjw/python_interview_question
 6  7 # 2.發送請求,獲取數據
 8 all_info = requests.get(api).json()
 9 10 # 3.解析想要的數據,並打印
11 cur_update = all_info['updated_at']
12 print(cur_update)

 

2)定時監測數據變化 3)打開網頁

在這里插入圖片描述

設置一個循環,每隔10分鍾獲取一次update_at的數據,如果前后時間不一致,說明數據更新,並自動打開項目主頁。

 1 while True:
 2  3     all_info = requests.get(api).json()
 4     cur_update = all_info['updated_at']
 5     print(cur_update)
 6  7     # 假設第一次運行之前,不知道上次的更新時間
 8     # 如果last_update 為 none,會執行下面的語句,把當前的時間給到上次時間
 9     if not last_update:
10         last_update = cur_update
11 12     # 第一次兩個時間相等,不會執行
13     # 假設10分鍾后,cur_update更新,那么就會自動打開網頁
14     # 接下來,把 當前時間 賦值 給上次時間
15     # 開始新一輪的監測
16     if last_update < cur_update:
17         webbrowser.open(web_page)
18         last_update = cur_update
19 20     # 間隔 10分鍾,再次while循環,觀察新的更新時間是否發生變化
21     time.sleep(600)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM