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プロフェッショナル大全

この書籍は実際にシリコンバレーの一流エンジニアとして活躍している酒井潤さんが書いた本です。

内容も初心者から上級者までまとめられており、各Lessonも長すぎずに分かりやすくまとめられているので、初心者の方にもおすすめです。

シリコンバレー一流プログラマーが教える Pythonプロフェッショナル大全

今回は以上となります。

コメント