\

Pythonでウェブスクレイピングを行う際、time.sleep関数を適切に使用することは重要です。この関数は、スクリプトの実行を一時停止し、指定した時間だけ待機することで、ウェブサイトへのリクエストを制御します。

time.sleepの適切な使用場所

基本的に、ウェブサイトに対してリクエストを送る際にtime.sleepを使用します。例えば、一覧ページから詳細ページのURLを取得する際などにも使用することがあります。

def scrape_list(self, list_url, mode):
    r = requests.get(list_url)
    if r.status_code != requests.codes.ok:
        return False
    soup = BeautifulSoup(r.content, 'html.parser')
    soup_a_list = soup.find_all('a', class_='list-rst__rst-name-target')
    if len(soup_a_list) == 0:
        return False
    for soup_a in soup_a_list:
        item_url = soup_a.get('href')
        self.store_id_num += 1
        self.scrape_item(item_url, mode)
        time.sleep(2)
    return True

上記のコードでは、一覧ページから各詳細ページのURLを取得し、そのURLを使って詳細情報をスクレイピングしています。各詳細ページへのリクエストの間にtime.sleep(2)を挿入することで、リクエストの頻度を制御しています。

注意点

time.sleepは、リクエストを送る際に適切な時間を空ける目的で使用します。しかし、BeautifulSoupでHTMLをパースする際など、ウェブサイトに新たなリクエストを送らない処理では、time.sleepを使用する必要はありません。

以上、Pythonでスクレイピングを行う際の時間管理について解説しました。適切な時間管理を行うことで、効率的なスクレイピングを行うことができます。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です