• 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秒
    
  • 相关阅读:
    java-数组
    java-条件判断和循环语句
    java-运算符
    python类与对象
    C#全角半角转换函数
    自己学会汉化DevExpress控件[转]
    DevExpress.XtraGrid的使用(部分)
    .Net 代码安全保护产品DNGuard HVM使用
    DataGridView 添加ComboBox
    c# 使用ChartDirector绘图的一些个人体会
  • 原文地址:https://www.cnblogs.com/gqv2009/p/14212712.html
Copyright © 2020-2023  润新知