Python正态分布随机睡眠

本文介绍了一种用于爬虫程序的正态分布随机睡眠策略,通过模拟人类点击时间的波动,有效防止因请求过快而被目标网站封禁IP。文章提供了Python实现代码,利用random模块的normalvariate函数生成符合正态分布的睡眠时间,增强了爬虫行为的真实性和稳定性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

爬虫中常需要睡眠防止爬取过快被封IP,人点击的时间是相对稳定,并在一定范围内波动




解决方案

使用正态分布模拟范围波动的时间,更真实

正态分布是一种连续型概率分布,在自然界中很常见,如身高、寿命、考试成绩等,属于各种因素相加对结果的影响。

若随机变量 X X X服从一个数学期望为 μ \mu μ,方差为 σ 2 \sigma ^2 σ2的正态分布,记为 N ( μ , σ 2 ) N\left( \mu ,\sigma ^2 \right) N(μ,σ2)

在这里插入图片描述

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 \mu =1 μ=1 σ = 0.4 \sigma =0.4 σ=0.4

0.7064196787554182
1.2534987046066317
0.9947152762545793
0.6406594468142128
1.1230730100881552
1.3657589217334918
0.352417427623824
1.060297589921571
1.16466426576179
1.6256129468167888




参考文献

  1. random — 生成伪随机数
  2. Python概率分布大全(含可视化)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XerCis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值