見出し画像

Pythonで短縮URLを自動生成するサンプルコード


Twitterなど投稿するテキスト数の文字数制限がある場合、URL短縮サービスは、長いURLを短く簡潔にするのに役立ちます。これは特にソーシャルメディアやメールキャンペーンで便利で、URLを見やすく、共有しやすくします。Pythonを使って、これらの短縮URLを自動で生成する方法を学び、自分のアプリケーションやツールに組み込むことができます。

必要なツールとライブラリ


Pythonで短縮URLを生成するためには、外部のAPIサービスを利用するのが一般的です。ここでは、広く利用されている無料のAPIサービス「TinyURL」を例にとります。また、HTTPリクエストを送るために`requests`ライブラリを使用します。

`requests`ライブラリのインストール

まだインストールしていない場合は、以下のコマンドでインストールしてください。

pip install requests

TinyURL APIを使用した短縮URLの生成

TinyURLは、APIを通じて簡単にURLを短縮できるサービスです。登録やAPIキーは不要で、すぐに利用開始できます。

短縮URL生成スクリプト

以下は、TinyURL APIを使用してURLを短縮するPythonスクリプトの例です。

import requests

def create_short_url(long_url):
    # TinyURLのAPIエンドポイント
    api_url = "http://tinyurl.com/api-create.php"
    # リクエストパラメータの設定
    params = {'url': long_url}
    # APIリクエストを送信し、レスポンスを受け取る
    response = requests.get(api_url, params=params)
    # 短縮されたURLを返す
    return response.text

# 使用例
long_url = "https://www.example.com/very/long/url/that/needs/to/be/shortened"
short_url = create_short_url(long_url)
print("短縮URL:", short_url)


<実行結果>

短縮URL: https://tinyurl.com/2ps6gye8

スクリプトの解説

このPythonスクリプトは、TinyURLのAPIを利用して指定された長いURLを短縮するためのものです。以下に各部分の詳細な説明を示します。

スクリプトの構成

  1. 関数定義 (`create_short_url`): 長いURLを受け取り、それを短縮するための関数。

  2. APIリクエストの実行: TinyURLのAPIエンドポイントに対してGETリクエストを送信。

  3. 短縮URLの取得と表示: APIから受け取った短縮URLを表示。

関数 `create_short_url`

この関数は、短縮したい長いURLを引数として受け取ります。具体的な処理は次のように行われます。

APIエンドポイント

api_url = "http://tinyurl.com/api-create.php"
  • この行で、TinyURLのAPIエンドポイントURLを指定しています。このURLは、TinyURLのAPIサービスがユーザーからのリクエストを受け付けるアドレスです。

リクエストパラメータの設定

params = {'url': long_url}
  • `params` 辞書では、APIリクエストに必要なパラメータを設定しています。ここでのキーは `'url'` で、その値として関数に渡された `long_url` を使用します。このパラメータは、短縮したい元の長いURLを指定するために使われます。

APIリクエストの送信

response = requests.get(api_url, params=params)
  • `requests.get` 関数を使用して、設定されたURLとパラメータでHTTP GETリクエストをAPIに送信します。このリクエストが成功すると、APIは短縮後のURLをテキスト形式でレスポンスとして返します。

レスポンスの処理

return response.text
  • `response.text` は、APIレスポンスの本文(body)を文字列として取得します。この場合、本文は短縮されたURLです。関数はこの短縮URLを呼び出し元に返します。

使用例

long_url = "https://www.example.com/very/long/url/that/needs/to/be/shortened"
short_url = create_short_url(long_url)
print("短縮URL:", short_url)
  • `long_url` に短縮したいURLを設定し、`create_short_url` 関数を呼び出して短縮URLを取得します。その後、`print` 関数を使って結果をコンソールに表示します。

まとめ

Pythonを使用して短縮URLを自動生成する方法は、簡単で効率的です。TinyURLのようなサービスを活用することで、アプリケーションやウェブサイトでのURL管理を簡素化し、ユーザーエクスペリエンスを向上させることができます。

この記事が気に入ったらサポートをしてみませんか?