python监测GitHub项目并自动打开网页

2019-01-11  本文已影响0人  Oneshot_fea8
# api https://api.github.com/repos/channelcat/sanic
# web_page https://github.com/channelcat/sanic

# 打开路径获取数据
import requests
import webbrowser
import time

api = 'https://api.github.com/repos/channelcat/sanic'
web_page = 'https://github.com/channelcat/sanic'
# 考虑第一次打开的时间,可以打开查看也可以存为None
last_update = "2019-01-11T10:23:21Z"
# 先得到所有的信息再将json转化为python认识的字典
all_info = requests.get(api).json()
cur_update = all_info['updated_at']
print(cur_update)

while True:
    # 保证第一次比较成功
    if not last_update:
        last_update = cur_update

    # 如果最后一次更新的时间小于当前的时间,打开网页
    if last_update < cur_update:
        webbrowser.open(web_page)
    time.sleep(600)  
"""
Kenneth Reitz 是 Python 领域的大神级人物,并且在 Github 上非常活跃,
他的 Github 地址是:https://github.com/kennethreitz 
试着用所学知识去发现 Kenneth 今天 Starred 了哪些库,
并且自动在浏览器中打开这些库的地址。
"""

import requests
import webbrowser
import time
# api指定了follow的这个人star的所有项目,该用户是kennethreitz
api = "https://api.github.com/users/kennethreitz/starred"
# 先访问一次api,获取star列表
info = requests.get(api).json()
starred = []
# 将star列表中的项目id存到list变量中
for i in info:
    starred.append(i['id'])

while True:
    # 获取star的项目
    info = requests.get(api).json()
    for i in info:
        # 如果当前项目id在list变量中不存在,则说明是刚刚star的项目
        if not i['id'] in starred:
            starred.append(i['id'])
            # 获取项目名称
            repo_name = i['name']
            # 获取作者名称
            owner = i['owner']['login']
            # 在浏览器中打开项目
            web_page = "https://github.com/" + owner + "/" + repo_name
            webbrowser.open(web_page)
    # 每隔600秒(10分钟)检查一次
    time.sleep(600)  
上一篇下一篇

猜你喜欢

热点阅读