0
1

ウェブ上のデータを取得するためにPythonを使用する場合、便利なライブラリの一つがRequestsです。
Requestsは、HTTPリクエストを簡単に行うためのPythonライブラリで、ウェブスクレイピングやAPIとの通信に広く使用されています。

Requestsのインストール

まず、Requestsライブラリをインストールします。以下のコマンドを実行してください。

pip install requests

Requestsの基本的な使い方

1. GETリクエスト

GETリクエストは、最も基本的なHTTPリクエストの一つです。
指定したURLからデータを取得するために使用されます。

import requests

# URLの指定
url = 'https://api.example.com/posts/1'

# GETリクエストの送信
response = requests.get(url)

# ステータスコードの確認
print(f"ステータスコード: {response.status_code}")

# レスポンス内容の表示
print(f"レスポンス内容: {response.json()}")
2. パラメータ付きのGETリクエスト

クエリパラメータを付けてリクエストを送ることもできます。
例えば、検索クエリを含むリクエストを送信する場合です。

# URLの指定
url = 'https://api.example.com/posts'

# パラメータの指定
params = {'userId': 1}

# GETリクエストの送信
response = requests.get(url, params=params)

# ステータスコードの確認
print(f"ステータスコード: {response.status_code}")

# レスポンス内容の表示
print(f"レスポンス内容: {response.json()}")
3. POSTリクエスト

POSTリクエストは、サーバーにデータを送信するために使用されます。
例えば、新しいリソースを作成する場合です。

# URLの指定
url = 'https://api.example.com/posts'

# データの指定
data = {
    'title': 'foo',
    'body': 'bar',
    'userId': 1
}

# POSTリクエストの送信
response = requests.post(url, json=data)

# ステータスコードの確認
print(f"ステータスコード: {response.status_code}")

# レスポンス内容の表示
print(f"レスポンス内容: {response.json()}")
4. ヘッダーの設定

リクエストヘッダーを設定することで、認証情報やカスタムヘッダーを送信することができます。

# URLの指定
url = 'https://api.example.com/posts'

# ヘッダーの指定
headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
}

# GETリクエストの送信
response = requests.get(url, headers=headers)

# ステータスコードの確認
print(f"ステータスコード: {response.status_code}")

# レスポンス内容の表示
print(f"レスポンス内容: {response.json()}")
5. タイムアウトの設定

タイムアウトを設定することで、リクエストが指定された時間内に完了しない場合にエラーを発生させることができます。

# URLの指定
url = 'https://api.example.com/posts/1'

# タイムアウトの設定(5秒)
try:
    response = requests.get(url, timeout=5)
    print(f"ステータスコード: {response.status_code}")
    print(f"レスポンス内容: {response.json()}")
except requests.exceptions.Timeout:
    print("リクエストがタイムアウトしました")
6. エラーハンドリング

リクエストが失敗した場合にエラーハンドリングを行う方法です。

# URLの指定
url = 'https://api.example.com/posts/invalid'

# GETリクエストの送信
response = requests.get(url)

# ステータスコードの確認
if response.status_code == 200:
    print(f"レスポンス内容: {response.json()}")
else:
    print(f"エラーが発生しました。ステータスコード: {response.status_code}")

以上

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1