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