python 爬蟲中常需要睡眠防止被封IP time sleep
阿新 • • 發佈:2020-12-30
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
``python
t = random.randrange(1,10,2) #隨機一個大於等於1且小於等於10之間的奇數,其中2表示遞增基數
time.sleep(t)
結果:
3
###4.迴圈輸出休眠1秒
```python
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秒