Linux上使用crontab命令完成定时爬虫

2019-11-19  本文已影响0人  興華的mark

本文主要记录: 1、crontab的用法。
                          2、crontab与scrapy的结合。

一、crontab

常用符号:

以下是几个例子

       1、每分钟执行一次: * * * * * command

       2、每一小时执行一次 :00 * * * * command(精确时间点) or * */1 * * * command ( / 表示频率)

       3、每小时的15和30分各执行一次 15,45 * * * * command(, 表示并列)

       4、在每天上午 8- 11时中间每小时 15 ,45分各执行一次:15,45 8-11 * * * command (- 表示范围)

       5、每个星期一的上午8点到11点的第3和第15分钟执行:3,15 8-11 * * 1 command

       6、每隔两天的上午8点到11点的第3和第15分钟执行:3,15 8-11 */2 * * command

二、crontab与scrapy的结合

       通常运行scrapy需要进入到该scrapy项目的文件夹下,所以我们不能直接scrapy crawl ……。

例如我需要每天19:00运行我部署的某天气网站的scrapy爬虫,名为chinaweather:

       1、我们需要先 cd 进入到该scrapy项目的路径下

       2、对于scrapy需要使用绝对路径,如果找不到,可以使用which scrapy找到如:/usr/local/anaconda/bin/scrapy。

       3、这个scrapy运行的时候会打印一些日志,我们用>>可以把它统一追加到一个文件中,方便检查scrapy是否正常运行。 (需要注意的是>是覆盖重写,>>是追加操作)

       使用crontab -e 编辑后,即可添加到定时任务中:
00 19 * * * cd /root/spider/weather && /usr/local/anaconda/bin/scrapy crawl chinaweather >> /root/spider/weather/weather_history.log

       最后保存退出,就会显示任命了新的定时任务:


上一篇 下一篇

猜你喜欢

热点阅读