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

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

作者: Oneshot_fea8 | 来源:发表于2019-01-11 20:44 被阅读0次
    # 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)  
    

    相关文章

      网友评论

          本文标题:python监测GitHub项目并自动打开网页

          本文链接:https://www.haomeiwen.com/subject/ilsfdqtx.html