目次
なぜエラーハンドリングは重要なのか
エラーハンドリングは、プログラムが予期せぬ状態に遭遇したときに、その状態を適切に処理する技術です。特にWebスクレイピングやAPIを扱う際には、ネットワークの不安定性、APIの仕様変更などが起こり得るため、エラーハンドリングが極めて重要です。エラーハンドリングのメリット
requestsライブラリの基本的なエラーハンドリング
Pythonの`requests`ライブラリは、HTTPリクエストを送る際によく使用されます。このライブラリも例外はありません、エラーハンドリングが必要です。基本的な例
import requests
from requests.exceptions import RequestException
try:
response = requests.get('https://www.example.com')
response.raise_for_status() # ステータスコードが400以上の場合に例外を発生させる
except RequestException as e:
print(f"エラーが発生しました: {e}")
コードの解説
この例では、`requests.get`メソッドを使用してHTTP GETリクエストを行っています。その後、`raise_for_status`メソッドを用いてステータスコードが400以上の場合に例外を発生させています。応用例
応用例1: タイムアウトを設定する
import requests
from requests.exceptions import Timeout
try:
response = requests.get('https://www.example.com', timeout=5) # 5秒以内に応答がなければタイムアウト
except Timeout:
print("タイムアウトしました")
応用例2: リトライ処理を追加する
import requests
from requests.exceptions import RequestException
retry_count = 3
url = 'https://www.example.com'
for i in range(retry_count):
try:
response = requests.get(url)
response.raise_for_status()
break # 正常にリクエストできた場合はループを抜ける
except RequestException as e:
print(f"エラーが発生しました({i+1}回目): {e}")
コメント