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プロフェッショナル大全
今回は以上となります。
コメント