zoukankan      html  css  js  c++  java
  • python 爬虫中常需要睡眠防止被封IP time sleep

    1.概率分布睡眠

    使用正态分布模拟范围波动的时间,更真实
    正态分布是一种连续型概率分布,在自然界中很常见,如身高、寿命、考试成绩等,属于各种因素相加对结果的影响。

    import time
    import random
    
    def random_sleep(mu=1, sigma=0.4):
        '''正态分布随机睡眠
        :param mu: 平均值
        :param sigma: 标准差,决定波动范围
        '''
        secs = random.normalvariate(mu, sigma)
        if secs <= 0:
            secs = mu  # 太小则重置为平均值
        time.sleep(secs)
    

    μ=1, σ=0.4
    运行结果:
    0.7064196787554182
    1.2534987046066317
    0.9947152762545793
    0.6406594468142128
    1.1230730100881552
    1.3657589217334918
    0.352417427623824
    1.060297589921571
    1.16466426576179
    1.6256129468167888

    2.随机小数

    import random
    t = random.random() #随机大于0 且小于1 之间的小数
    time.sleep(t)
    

    结果:
    0.9441832228391154

    import random
    t = random.uniform(0,9)   #随机一个大于0小于9的小数
    time.sleep(t)
    

    结果:
    7.646583891572416

    3.随机整数

    t = random.randint(1,5)  #随机一个大于等于1且小于等于5的整数
    time.sleep(t)
    

    结果:
    5

    t = random.randrange(1,10,2)  #随机一个大于等于1且小于等于10之间的奇数,其中2表示递增基数
    time.sleep(t)
    

    结果:
    3

    4.循环输出休眠1秒

    import time
    i = 1
    while i = 3:
        print(i) # 输出i
        i += 1
        time.sleep(1) # 休眠1秒
    

    5.循环输出休眠100毫秒

    import time
    i = 1
    while i = 3:
        print(i) # 输出i
        i += 1
        time.sleep(0.1) # 休眠0.1秒
    
  • 相关阅读:
    Linux系统教程:设置GRUB菜单密码
    vimdiff的常用命令
    Zero-Copy实现原理
    解决业务代码里的分布式事务一致性问题
    用好这6个APP,学英语SO EASY!
    线程池调优
    理解select,poll,epoll实现分析
    时序图
    性能监控-TP理解
    sshd_config OpenSSH SSH 进程配置文件配置说明
  • 原文地址:https://www.cnblogs.com/gqv2009/p/14212712.html
Copyright © 2011-2022 走看看