python - 我如何自动化我用 python 编写的爬虫程序每月运行一次?

标签 python linux automation cron scraper

我编写了一个 Python 程序,它使用正则表达式从网站上抓取信息。我的目标是创建一个 cron 作业来每月运行这个爬虫。

我已经进入 Linux 终端,输入 crontab -e,并添加到 crontab 文件的底部:

**

#!/usr/bin/python chmod +x
30 8 1 * * /home/pi/Nikita/The_Scraper/thescraper.py
PATH=/home/pi/Nikita/The_Scraper/thescraper.py
MAILTO="myemailaddress@gmail.com"

**

我在想:

  1. 如果这是包含在 crontab 文件中的正确文本

  2. 如何验证我的爬虫程序是否每月运行以及我创建的 cron 作业是否正常运行

最佳答案

我从哪里开始:

第 1 步:Cron 通过您的 shell 启动脚本。所以/home/pi/Nikita/The_Scraper/thescraper.py 必须有执行权限。

第二:PATH 是环境变量的名称,如果未指定 PATH,shell 将在其中搜索您的脚本。它应该只包含目录。

第三:crontab是从上到下读取的。应该够用了

MAILTO="myemailaddress@gmail.com"
30 8 1 * * /home/pi/Nikita/The_Scraper/thescraper.py

这应该在每个月的第一天的 8:30 运行您的脚本。

MAILTO 设置指定外部邮件地址。您应该有一个正确配置的 MTA(投递邮件的程序)正在运行。 该邮件的内容是邮件的 STDOUT 和 STDERR。

要进行测试,您可以指定一个比较近的时间( future 5 分钟),然后看看会发生什么。您也可以将 OUTPUT 重定向到一个文件,然后查看作业是否已运行,如果发送邮件不起作用,则查看其 OUTPUT 是什么。

30 8 1 * * /home/pi/Nikita/The_Scraper/thescraper.py > /some/test/file/were/your/user/can/write

如果您有权访问系统日志,您可以查看 cronjob 是否已执行。

关于python - 我如何自动化我用 python 编写的爬虫程序每月运行一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22769941/

相关文章:

ruby - 在 Linux 服务器上安装 ruby​​ 1.9.3 时出错

linux - 比较 2 个文件中的两列并使用 awk 替换另一列

automation - 在 Hudson 上获得最后一次成功的构建

python - 如何理解这段python代码?

python - 如何在 iPython 中将变量作为命令行参数传递?

python - 如何使用 python 中的 Pandas 库读取名称中带有空格的 CSV 列

linux - 如何在设备启动时在树莓派上自动执行程序?

python - 将 Python 输出(0.25、0.78、0.33、...)粘贴到 Excel 单元格

python - 如何按时执行脚本?

java - 有没有一种简单的方法可以从 Java 类中提取接口(interface),包括父类(super class)的公共(public)方法?