Python监控线上异常图片地址自动告警
场景描述
=> 腾讯在线文档维护监控的图片信息列表
=> 导出excel
=> 解析excel
=> 遍历爬取数据校对
=> 如果存在异常则发送邮件
=> 定期检查
图片示例
具体实现
0.0 全局参数维护到config
1.0 腾讯文档的登陆、下载
1.1 登陆:
主要涉及到chromedriver模块的引用,然后就是常规的dom查找操作。
里面有一点需要注意, 腾讯的登陆框内部是一个iframe去嵌套的,dom查找会不存在账号、密码的输入框,
这里需要driver去switch_to_frame去聚焦到iframe再执行内部的dom查找,填值。
1.2 下载:
按官网的操作流程, 聚焦【更多】按钮, 然后移入【导出为】下拉菜单,然后触发到【导出excel】的按钮点击。
主要涉及到一个悬浮鼠标操作采用
from selenium.webdriver.common.action_chains import ActionChains
这个库解决悬浮触发问题
2.0 excel的解析
解析excel需要用到openpyxl这个插件, 然后把结果汇总到新的list里面
3.0 批量爬取校验信息
采用urllib3这个库去实现大量爬取数据的功能, 比对爬虫网站的图片信息,并收集比对异常。
4.0 发送邮件
4.1 smtp邮件开通
邮箱默认不开启smtp的功能, 需要通知的用户,需要手动开通smtp的功能。参考QQ邮箱smtp开通
4.2 smtplib
采用smtplib这个类库去发送邮件
5.0定期检查
可采用类库sched去实现定时任务
也可自制内部循环解决定期调用问题
github地址
https://github.com/wgh815600709qq/auto-scripts_py/blob/master/listener/main.py
有任何问题可以在github提issue给我,谢谢
如果它对你有帮助,请我喝一杯喜茶吧~