在mac下用crontab来定时执行scrapy爬虫命令

来源:互联网 发布:ai软件 编辑:程序博客网 时间:2024/06/05 11:59

Crontab这个命令是在linux下来执行定时执行任务的指令,但是在mac下同样用这一指令来实现定时执行任务。但是在用到scrapy爬虫的时候,会有两个比较常见的问题导致定时爬取不成功,接下来将详细介绍如何在mac下执行crontab指令来完成相关定时任务。

一、启动crontab -e来编辑自己定义的任务

例如我想在每天的17:30分来定时执行此任务,那么相关的配置符合条件的命令为:

30 17 * * *,具体的定义自己的命令可以参考http://www.jb51.net/LINUXjishu/19905.html

手动执行时,在工程目录下输入scrapy crawl xxx可以执行脚本了,但是用crontab时,如果直接在crontab -e中输入30 17 * * * scrapy crawl xxx,则定时任务不会生效,因为不知道crontab执行时,其所处的目录,很有可能就没有scrapy命令了。

二、解决此问题之道

为了解决这个问题,尝试用30 17 * * * /usr/local/bin/scrapy crawl xxx,但是加了这个指令貌似可以解决不生效的问题,但是又有新的问题了,即找不到crawl命令,在不同的路径下scrapy后面跟的命令不一样,只有在scrapy工程目录下才会有crawl命令,因此,需要先进入到工程目录下再执行启动命令,因此,书写如下crontab的指令:30 17 * * * cd /users/sunwangdong/desktop/tsinghua && /usr/local/bin/scrapy crawl xxx,这样就能够正确执行定时指令了


阅读全文
0 0