scrapy框架爬虫定时爬取

时间:2021-11-28 07:49:14

        使用crontab来执行scrapy定时爬取的需求。原因是在scrapy框架中,没有定时爬取的设置选项。


1. 什么是Crontab?

        Crontab命令是Unix系统和类Unix系统中,用来设置周期性执行的指令。该命令从标准输入设备读取指令,并将其存放在“Crontab”文件中,以供后期读取和执行。Crontab所存的指令,被守护进程激活。crond常常在后台运行,以一分钟为间隔检查是否有预定的作业需要执行,这类作业一般成为cron jobs。


1. 打开Ubuntu中的crontab功能

        在Ubuntu中,crontab功能默认是关闭的,需要我们自己打开。

emacs  /etc/rsyslog.d/50-default.conf
        所打开的文件中,将
cron.*                 /var/log/cron.log

这一行的注释打开。

        然后重启系统服务,使刚才的改变生效。命令是:

$ sudo service syslog restart

2. contab的命令格式

            scrapy框架爬虫定时爬取

        

Crontab命令格式
*/1 * * * * 每分钟执行一次
0 * * * * 每小时执行一次
0 0 * * * 每天执行一次
0 0 * * 0 每周执行一次
0 0 1 * * 每月执行一次
0 0 1 1 * 每年执行一次

3. 编辑crontab要执行的命令和执行频率

        使用命令

crontab -e
        会出现下面这些选项,直接输入数字选择打开所需的编辑器即可。

          scrapy框架爬虫定时爬取

        在打开的文件中的最后一行,添加要执行的命令和执行频率:

scrapy框架爬虫定时爬取