scrapy 中crontab 的脚本的坑:
1,我创建了一个py文件。里面放入了scrpy执行命令。
crontab 第一次编写:
/root/.virtualenvs/py3/bin/python /mydata/data_statistics_and_mining/statistics/run.py >> /mydata/logs/run_$(date +\%F_\%H_\%M_\%S).log 2>&1 &
报错:
Scrapy 1.5.1 - no active project
无法找到项目路径:
网上说到当前目录在执行:
换成:
cd /mydata/data_statistics_and_mining/statistics /root/.virtualenvs/py3/bin/python run.py >> /mydata/logs/run_$(date +\%F_\%H_\%M_\%S).log 2>&1 &
再次报错:
crontab sh: scrapy: command not found
找不到scrapy了。我用的是虚拟环境
所以需要用虚拟环境中的scrapy
cd /mydata/data_statistics_and_mining/statistics /root/.virtualenvs/py3/bin/scrapy crawl test >> /mydata/logs/run_$(date +\%F_\%H_\%M_\%S).log 2>&1 &
把py的scrapy直接拿出来,
ok
总结:
在虚拟环境下,用crontab定时任务,执行python脚本运行一样,scrapy需要指定绝对路径 ,如果用虚拟环境要指明虚拟环境下的绝对路径。
本文详细探讨了在虚拟环境中使用Cron进行Scrapy爬虫定时任务时遇到的问题及解决方法。作者分享了从创建Python脚本到配置Cron表达式的全过程,强调了在虚拟环境下正确指定Scrapy路径的重要性。

255

被折叠的 条评论
为什么被折叠?



