Python定时任务随机时间执行!

背景:

有一个爬虫服务,需要定时从公开网站上拉取一些数据,为了避免被识别为爬虫(防爬虫的识别需要根据很多特征,时间仅仅是其中一个维度),需要在指定的时间内,随机生成一个时间爬取

脚本是python写的,直接上代码...

import logging
import traceback
from datetime import datetime
from apscheduler.schedulers.background import BackgroundScheduler
scheduler = BackgroundScheduler()
def spider_schedule():
    # spider_schedule是job_id
    scheduler.remove_job('spider_schedule')
    try:
        print 'spider start... ', datetime.now().strftime('%Y-%m-%d %X')
        #--------自己的业务代码-------
        pass
        #---------------------------
        print 'spider end... ', datetime.now().strftime('%Y-%m-%d %X')
    except Exception as e:
        print traceback.format_exc(e)
    finally:
        interval_minutes = random.randint(60, 120)  # 1-120分钟随机选一个时间
        interval_seconds = random.randint(1, 60)  # 1~60秒随机选一个时间
        scheduler.add_job(spider_schedule, 'interval', minutes=interval_minutes, seconds=interval_seconds, id='spider_schedule')
if __name__ == '__main__':
    scheduler.add_job(spider_schedule, 'interval', seconds=10, id='spider_schedule')
    scheduler.start()

 Python资源共享群:484031800

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值