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)