如果你的爬虫需要在指定的时间进行数据爬取,那么,你需要做一个定时任务,在预先设置的时间点启动爬虫。
在linux系统下,你可以使用crontab命令设置定时任务,不多这个命令对于初学者来说用起来不那么简单直观,本文推荐你使用定时任框架APScheduler
pip install apscheduler
该框架的接口定义十分友好,比如你希望你的爬虫函数run_spider 在每天的10点15分能够准时启动,那么你的代码可以写成下面的样子
from apscheduler.schedulers.blocking import BlockingScheduler
def run_spider():
print("启动爬虫")
sched = BlockingScheduler()
sched.add_job(run_spider, 'cron', hour=10, minute=15)
sched.start()
在add_job方法里,关于时间的设置,可以参考 CronTrigger类的初始化函数
如果你希望自己的爬虫每3分钟就执行一次爬取,那么你可以将代码写成下面的样子
from apscheduler.schedulers.blocking import BlockingScheduler
def run_spider():
print("启动爬虫")
sched = BlockingScheduler()
sched.add_job(run_spider, 'interval', minutes=3)
sched.start()
关于时间的设置,可以参考IntervalTrigger类的初始化函数
掌握上面两种定时任务设置方法,搞定绝大多数定时任务已经搓搓有余了