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秒