首页 > 解决方案 > 如何为网络爬虫运行日常自动化测试?

问题描述

我维护一个使用 Django REST 构建的 REST API,它在内部抓取多个网页以检索一堆信息。

我对每个端点都有测试,检查刮板是否仍在工作。他们实际上与页面连接并检查来源是否保持不变并且基本上一切都很好。

我想每天多次运行这些测试,并在任何这些爬虫失败时得到通知。我不确定我应该如何处理这个问题。

我正在寻找一种允许我执行以下操作的方法:

  1. 每 X 小时自动运行一次测试
  2. 通知我结果

我一直在研究 CI,但我不确定这是否是这里最好的方法。

标签: pythondjangotesting

解决方案


如果您已经有一个脚本来进行测试并通知您(例如通过电子邮件或 Pushover,Python 中的实现并不难),请设置一个 cron 作业:

打开终端并输入crontab -e,如果系统询问您,请选择您的编辑器并添加以下行:

* */X    * * *   python /path/to/testscript.py

其中 X 应替换为您想要测试的频率。例如,如果你写的是 3 而不是 X,那么你的脚本将每 3 小时执行一次。


推荐阅读