如何监测GitHub项目更新并自动打开网页
1.问题求解
拆解问题:
如何获取网页资源
如何监测网页的数据变化(每次下载Requests库;对比变化,持续运行)
如何自动打开网页(使用内置模块来实现webbrower)
2.前期知识
(1)编程工具
pycharm
(2)requests库、webbrower
在Python爬虫开发中最为常用的库就是使用requests实现http请求,因为requests实现HTTP请求简单、操作更为人性化。
python的webbrowser模块支持对浏览器进行一些操作,能够打开默认的游览器。
(3)github的API接口
给出一个项目地址:
https://github.com/CodingChaozhang/ElasticSearch_House
其对应的API网址为
https://api.github.com/repos/CodingChaozhang/ElasticSearch_House
如果用firefox火狐游览器打开的话,会对其进行美化处理
3.编程实现
# web_page https://github.com/CodingChaozhang/ElasticSearch_House
# api https://api.github.com/repos/CodingChaozhang/ElasticSearch_House
# updated_at "2019-01-18T08:56:08Z"
import requests
import time
import webbrowser
web_page = 'https://github.com/CodingChaozhang/ElasticSearch_House'
api = 'https://api.github.com/repos/CodingChaozhang/ElasticSearch_House'
last_update = '2019-01-17T08:56:08Z'
all_page = requests.get(api).json() # 获取api页面(此时是以json返回的页面)并将该页面转换成字典形式(key-value的存储方式)
cur_update = all_page['updated_at']
while True:
if not last_update:
last_update = cur_update
if last_update < cur_update:
cur_update = last_update
webbrowser.open(web_page)
time.sleep(600)