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の効果的な学習方法は「Udemy(ユーデミー)」によるビデオ学習です。
「Udemy」は、オンライン学習の提供サイトです。学びたい人は多くある講座の中から受講したいコースを選択することができ、動画で学べるのが特徴です。
多くあるPythonのコースの中でもオススメするPythonのコースは以下となります!!
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
このコースでは合計で28.5時間のビデオ講座があって、それらを受講するだけで、Pythonの基礎から応用まで学ぶことができます。
私も購入して受講していますが、内容としては初心者の方から上級者まで対応する幅広い内容になっています。
下手な書籍を何冊か購入するより、この動画コースを最初からじっくりと受けることで総合的なスキルを習得することができるできます。おそらくこれ以上の教材はないと思いますので、絶対おすすめです。
今回は以上となります。
コメント