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秒


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM