【Beautifulsoup】処理時間の間隔をあける必要はないから、time.sleep()は必要ないですよね?

スクレイピングを行うライブラリはいくつかありますが、「requests」と「Beautifulsoup」ライブラリを組み合わせて行うことが多いように思います。

「requests」 でデータを取得し、 「Beautifulsoup」 でデータを抽出するという流れです。


「requests」 には多かれ少なかれ相手のサーバーに負荷をかけることになるので、何度もリクエストする場合は時間の間隔をあける必要があります。

では 「Beautifulsoup」 ではどうでしょうか。

「requests」ライブラリを使用する場合、以下のような感じで、get()メソッドの中には取得するURL、header情報、コネクションタイムアウト、リードタイムアウトなどを設定してして、情報を取得します。

res = requests.get(url,headers=headers,timeout=(3,2))


「requests」ライブラリ を使用して、HTTP通信をするわけです。

ですが、 「Beautifulsoup」 では以下のように、取得したデータの解析方法をしたり、実際にデータを抽出するだけですので、 「Beautifulsoup」 関連には時間の間隔をあける必要はないと考えます。

   soup = BeautifulSoup(res.text,"html.parser")
     a = soup.select("#sh_field_body > div・・・
     b = soup.find_all(・・・)