Python

Pythonでランダム秒待機する方法【Selenium+ChromeDriver】

Python

Selenium + ChromeDriverでWEBスクレイピングを行っているときに、WEBサーバー負荷などを考慮して適度にwaitを入れたい場合があったので、ランダム時間でwaitをする関数を作ってみました。

今回は自分用のメモになります。

PythonでRamdom待機する方法

Pythonでランダム時間を取得するには文字通りrandomモジュールを使います。

事前にpipでインストールしておきます。

pip install random

使ってみます。

以下ではuniformで任意の範囲の浮動小数点数を取得、randintで任意の範囲の整数を取得しています。

import random
random.uniform(0.1, 1) # 0.1秒から1秒までのランダム時間(浮動少数点数)を取得:(例)0.42323233など
random.randint(6, 10)  # 6秒から10秒までのランダム時間(整数)を取得:(例)8など

watiしたい範囲なども自由に設定できます。浮動小数点や整数のどちらかを指定するかで大分waitの動きも変わりますので適切に設定しましょう。

できたもの

こんな感じのメソッドをつくりました。xs、s、m、l、xlでwait時間の大きさを決めてます。

    def wait_xs(self):
        sec = random.uniform(0.1, 1)
        time.sleep(sec)

    def wait_s(self):
        sec = random.uniform(1, 3)
        time.sleep(sec)

    def wait_m(self):
        sec = random.uniform(2, 5)
        time.sleep(sec)

    def wait_l(self):
        sec = random.uniform(4, 8)
        time.sleep(sec)

    def wait_xl(self):
        sec = random.randint(6, 10)
        time.sleep(sec)

Python学習におすすめの書籍

機械学習とかの書籍が多いなかで、この書籍では実際に現場でどのようにプログラミングを活用するかが多く書かれているので、Pythonを活用するイメージしやすいと思います。
ただ、内容としてはPythonは少しは触ったことがある中級者向けとなっています。

Pythonを学習されているのあれば、この本はおすすめです。

今回は以上となります。

コメント

タイトルとURLをコピーしました