我编写了一个 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"
**
我在想:
如果这是包含在 crontab 文件中的正确文本
如何验证我的爬虫程序是否每月运行以及我创建的 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/