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の効果的な学習方法は「Udemy(ユーデミー)」によるビデオ学習です。

「Udemy」は、オンライン学習の提供サイトです。学びたい人は多くある講座の中から受講したいコースを選択することができ、動画で学べるのが特徴です。

多くあるPythonのコースの中でもオススメするPythonのコースは以下となります!!

現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル

このコースでは合計で28.5時間のビデオ講座があって、それらを受講するだけで、Pythonの基礎から応用まで学ぶことができます。

私も購入して受講していますが、内容としては初心者の方から上級者まで対応する幅広い内容になっています。

下手な書籍を何冊か購入するより、この動画コースを最初からじっくりと受けることで総合的なスキルを習得することができるできます。おそらくこれ以上の教材はないと思いますので、絶対おすすめです。

ちなみに、Udemyでは頻繁にセール(1か月に2,3回程度)が開催されているので、セールのタイミングで購入すれば90%OFFになる講座もあるため、セールが開催されてからの購入をオススメします!

今回は以上となります。

コメント

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