scrapy定时执行抓取任务

来源:互联网 发布:cmmi3软件开发流程 编辑:程序博客网 时间:2024/06/05 20:35

当我们写好抓取数据的脚本.py文件时,需要输入命令:scrapy crawl projectName 来执行。

那么怎么做一个定时器,让这个.py脚本进行定时执行呢?

步骤如下:

1、写一个shell脚本,加入命名为test.sh内容如下:

[python] view plain copy
  1. #! /bin/sh   
  2. export PATH=$PATH:/usr/local/bin  
  3.   
  4. #进入.py脚本所在目录  
  5. cd /data/apps/scrapy/weather/weather/spiders  
  6.   
  7. #执行.py中定义的项目example,并指定日志文件,其中nohup....&表示可以在后台执行,不会因为关闭终端而导致程序执行中断。  
  8. nohup scrapy crawl example >> example.log 2>&1 &  

2、通过crontab -e命令新增一个定时器,定时执行上面的shell脚本test.sh:


[python] view plain copy
  1. 05 8,12,18 * * *  (/bin/sh /data/apps/scrapy/weather/weather/spiders/test.sh)  

crontab文件的含义:

用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:

minute   hour   day   month   week   command

其中:

minute: 表示分钟,可以是从0到59之间的任何整数。

hour:表示小时,可以是从0到23之间的任何整数。

day:表示日期,可以是从1到31之间的任何整数。

month:表示月份,可以是从1到12之间的任何整数。

week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

 



[python] view plain copy
  1. 05 8,12,18 * * *  (/bin/sh /data/apps/scrapy/weather/weather/spiders/test.sh)  
原创粉丝点击