监测github大神今日star的项目并自动打开网页

Kenneth Reitz 是 Python 领域的大神级人物,并且在 Github 上非常活跃,他的 Github 地址是:https://github.com/kennethreitz
用所学知识去发现 Kenneth 今天 Starred 了哪些库,并且自动在浏览器中打开这些库的地址。

问题拆解:
1. 找到github提供的API,用户star的url链接
如何阅读github提供的API文档,找到自己想要的东西,阅读官方文档一直是难点和痛点.明明知道答案就在里面藏着,但就是无能为力.
2. 用requests库下载数据,并用json()转化为字典格式
原来打算通过starred的时间和当前时间进行比较,但是发现并没有starred时间的字段,所以此方法行不通.
解决方法: 先把所有项目的id存到list中,然后不断地遍历抓取的项目id是否在数据库中,如果不在,说明是新增的,自动打开网页
3. 处理数据,遍历项目id,如果id不在数据库中,说明是刚刚star的.
4. 利用webbrowser打开网页

代码


import requests
import webbrowser
import time

api_url = "https://api.github.com/users/kennethreitz/starred"
id_list = []
id_test = [33627494, 136389792, 127933219, 131405142, 16329363, 62921553, 99652984, 100210619, 35510548, 8177778, 62182238, 53632140, 24297122, 102656963, 63522007, 73475522, 36653430, 39790596, 24924435, 77510944, 53721489, 37843831, 95817032, 127708345, 15007485, 24531005]
all_data = requests.get(api_url).json()
len(all_data)
for i in all_data:
    id_list.append(i["id"])

while True:
    data = requests.get(api_url).json()
    for i in data:
        # 测试时将id_list 换成 id_test
        if i["id"] not in id_list:
            url = i["html_url"]
            webbrowser.open(url)
            id_list.append(i["id"])
        # 打开后,id_list中加入该id,否则会不断地打开同一个网页
    time.sleep(100)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值