Python定时任务随机时间执行

系统 1576 0

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

脚本是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()
          
        



欢迎订阅「K叔区块链」 - 专注于区块链技术学习

博客地址: http://www.jouypub.com
简书主页: https://www.jianshu.com/u/756c9c8ae984
segmentfault主页: https://segmentfault.com/blog/jouypub
腾讯云主页: https://cloud.tencent.com/developer/column/72548

更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论