![見出し画像](https://assets.st-note.com/production/uploads/images/122943041/rectangle_large_type_2_ad87d43f0eab8b240c5ca401030e0cd8.png?width=1200)
【Python】requests ライブラリをさらっと学ぶための記事
![](https://assets.st-note.com/img/1701159465950-XSM4KM1GVx.png?width=1200)
ここでは、requests ライブラリを使用して、特定のウェブサイトからコンテンツを取得し、その内容を表示する簡単なコード例を紹介します。その後、コードについて詳しく解説します。
サンプルコード
import requests
def fetch_website_content(url):
try:
# 指定されたURLにGETリクエストを送信
response = requests.get(url)
# ステータスコードのチェック
response.raise_for_status()
# レスポンスの内容を返す
return response.text
except requests.exceptions.HTTPError as e:
# HTTPエラーが発生した場合、エラーメッセージを返す
return f"HTTP Error: {e}"
except Exception as e:
# その他のエラーが発生した場合、エラーメッセージを返す
return f"Error: {e}"
# 使用例
url = "https://www.example.com"
content = fetch_website_content(url)
print(content)
コード解説
インポート:
requests モジュールをインポートしています。これにより、HTTPリクエストを簡単に扱えるようになります。
関数の定義 (fetch_website_content):
url を引数として受け取る関数です。このURLに対してHTTP GETリクエストを行います。
GETリクエスト:
requests.get(url) は、指定した url に対してHTTP GETリクエストを送信します。サーバーからのレスポンスが response オブジェクトに格納されます。
エラーハンドリング:
response.raise_for_status() は、レスポンスのステータスコードが200番台(成功)以外の場合に例外を発生させます。
try-except ブロックを使って、HTTPエラーやその他の例外を捕捉し、適切なエラーメッセージを返しています。
レスポンスの処理:
response.text は、レスポンスの本文(コンテンツ)を文字列として取得します。
関数の使用:
fetch_website_content 関数を呼び出し、"https://www.example.com" の内容を取得し、コンソールに出力しています。
このコードは、Webサイトのコンテンツを取得する基本的な方法を示しており、requests ライブラリの基本的な使い方を理解するのに適しています。実際に様々なURLで試してみると、requests の使い方に慣れるのに役立ちます。
(requestsとかのhttpをプログラムから触るのって俺には難しすぎなんよ・・。でも、ちょいちょい学んでいきたいと思って、記事にして、見返せるようにしたんすよ・・)
(上の本は英語なんですけど、オレイリーさんとこの本だから、いいのかなって思ったんすよ。でも、日本語の本で探したら、普通にありました)
よろしくお願いしますッ!