利用crontab给scrapy的爬虫程序添加定时任务

1. 编写执行任务的cron.sh,并输出日志

1
2
3
4
5
6
7
8
#! /bin/sh

export PATH=$PATH:/Library/Frameworks/Python.framework/Versions/3.6/bin

# 爬虫文件地址
cd /Users/xxx/Documents/Code/Spider/News/news

nohup scrapy crawl news --nolog >> news.log 2>&1 &

2. 添加定时任务

1
2
3
sudo crontab -e

*/1 * * * * sh /Users/pengkun/Documents/SourceCode/Spider/cron.sh
1
2
3
4
5
6
7
每五分钟执行 	 */5 * * * *
每小时执行     0 * * * *
每2小时执行     0 */2 * * *
每天执行       0 0 * * *
每周执行       0 0 * * 0
每月执行       0 0 1 * *
每年执行       0 0 1 1 *

查看定时任务
sudo crontab -l

3. 遇到的问题

代码是在PyCharm IDE里编写的,依赖的库之前用pip3 install过一次,在PyCharm里也install一次,直接命令行运行scrapy是没有问题,当用crontab开启定时任务时,一直报错 module XX 找不到,具体原因不太清楚,把所有用pip3 安装过的插件移除掉重新安装 就没有问题了