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秒
posted @ 2020-12-30 17:51  莫贞俊晗  阅读(2941)  评论(0编辑  收藏  举报