python - 如何为网络爬虫运行日常自动化测试?
问题描述
我维护一个使用 Django REST 构建的 REST API,它在内部抓取多个网页以检索一堆信息。
我对每个端点都有测试,检查刮板是否仍在工作。他们实际上与页面连接并检查来源是否保持不变并且基本上一切都很好。
我想每天多次运行这些测试,并在任何这些爬虫失败时得到通知。我不确定我应该如何处理这个问题。
我正在寻找一种允许我执行以下操作的方法:
- 每 X 小时自动运行一次测试
- 通知我结果
我一直在研究 CI,但我不确定这是否是这里最好的方法。
解决方案
如果您已经有一个脚本来进行测试并通知您(例如通过电子邮件或 Pushover,Python 中的实现并不难),请设置一个 cron 作业:
打开终端并输入crontab -e
,如果系统询问您,请选择您的编辑器并添加以下行:
* */X * * * python /path/to/testscript.py
其中 X 应替换为您想要测试的频率。例如,如果你写的是 3 而不是 X,那么你的脚本将每 3 小时执行一次。
推荐阅读
- parallel-processing - karate dsl - 运行并行功能和场景
- mysql - 如何使用数组编写更新批处理sql
- c - 从 SVS 文件中提取全尺寸图像
- postgresql - 如何在 pl/pgsql 中使用自定义列名声明绑定游标
- javascript - 将从 API 检索到的数据存储在另一个 API 中 - Ionic
- mysql - mysql select * by index 很慢
- terraform - 如何将标签映射应用于 aws_autoscaling_group?
- html - 我很好奇为什么'first-of-type'不起作用
- javascript - Nativescript - 登录页面 CSS 不起作用
- mongodb - MongoDB 聚合查询:$size 仅当等于某个值时才计数项目