大部分的网站都会有一些相关行业的外部链,这些一般是由相关模块的运营部门提供的,但是这些第三方链接可用性我们很难去保证。如果用户从我们这边点击了不可用的外链,也会对我们的服务产生质疑。因此开发了这个外链可用性监控系统。
其实原理很简单,利用 python requests 库,加上一些超时、重试、切换代理的方式去多次检查链接的可用性,以保证报告的准确性。结合富文本邮件,并 Email 提供给相关人员报告展示。
数据我选择放在 Excel 里是为了降低系统的复杂度,主要是对接的运营人员都是 Excel 提供数据 ,你也可以改装下放数据库。
├── common
│ ├── emailCommon.py # 邮件发送模块
│ └── HTMLBuilder.py # HTML报告生成模块
├── data
│ └── url_data.xls # 测试&配置数据
├── templete
│ └── templete.html # HTML模板
├── venv # 虚拟环境
├── .gitignore # 提交过滤模板
├── checkScript.py # 检查核心脚本
├── requirements.txt # 模块依赖说明
└── run.py # 启动脚本
系统中的配置信息都在 url_data.xls 的各个 sheet 中,其实就相当于数据库的各个表。
url_data.xls > mail_config # 邮件及定时任务配置
url_data.xls > proxy_config # 可用代理配置
url_data.xls > dep_config # 部门配置
url_data.xls > data # 检查链接数据
系统是基于 py3 写的,使用的虚拟环境,具体用啥你随意。
$ pip install -r requirements.txt
$ python run.py
https://github.com/t880216t/url_check
更多的测试技术及工具使用,欢迎 QQ 进群交流: