ホームページ >バックエンド開発 >Python チュートリアル >Python でシンプルな URL 短縮ツールを作成する方法

Python でシンプルな URL 短縮ツールを作成する方法

WBOY
WBOYオリジナル
2024-07-23 20:57:04787ブラウズ

How to Create a Simple URL Shortener Tool with Python

URL 短縮ツールを使用すると、ユーザーは長い URL を取得して、より短く管理しやすいリンクに変換できます。 Python と軽量 Web フレームワークである Flask を使用して、このツールの単純なバージョンを構築できます。

前提条件

始める前に、以下のものがあることを確認してください:

  • Python がシステムにインストールされている (Python 3.6 以降を推奨)。
  • フラスコがインストールされました。 pip を使用して Flask をインストールできます。

ステップ 1: 環境のセットアップ

まず、仮想環境を作成し、Flask をインストールする必要があります。ターミナルを開いて次のコマンドを実行します:

# Create a virtual environment
python -m venv myenv

# Activate the virtual environment
# On Windows
myenv\Scripts\activate
# On macOS/Linux
source myenv/bin/activate

# Install Flask
pip install Flask

ステップ 2: コードを書く

プロジェクトのディレクトリ (url_shortener など) を作成し、その中に app.py という Python ファイルを作成します。コードをセクションに分けて説明します。

必要なライブラリのインポート

from flask import Flask, request, redirect, url_for
import string
import random

Flask アプリとデータベースのセットアップ

単純なメモリ内辞書を使用して URL マッピングを保存します。より堅牢なソリューションとしては、SQLite や PostgreSQL などのデータベースを使用することもできます。

app = Flask(__name__)
url_mapping = {}

短縮URL生成機能

短い URL キーを生成する関数を作成します。

def generate_short_url():
    characters = string.ascii_letters + string.digits
    short_url = ''.join(random.choice(characters) for _ in range(6))
    return short_url

URL短縮を処理するルート

このルートはユーザーから長い URL を受け取り、短縮バージョンを返します。

@app.route('/shorten', methods=['POST'])
def shorten_url():
    original_url = request.form['url']
    short_url = generate_short_url()
    url_mapping[short_url] = original_url
    return f'Shortened URL: {request.host_url}{short_url}'

リダイレクトする短縮 URL へのルート

このルートは、ユーザーを短い URL から元の長い URL にリダイレクトします。

@app.route('/<short_url>')
def redirect_url(short_url):
    original_url = url_mapping.get(short_url)
    if original_url:
        return redirect(original_url)
    else:
        return 'URL not found', 404

アプリを実行するための主な機能

if __name__ == "__main__":
    app.run(debug=True)

ステップ 3: ツールの実行

app.py ファイルを保存し、ターミナルから実行します。

python app.py

Flask 開発サーバーが起動し、Web ブラウザで http://127.0.0.1:5000 に移動すると、URL 短縮ツールにアクセスできます。

ステップ 4: ツールのテスト

URL を短縮するには、curl などのツールや単純な HTML フォームを使用できます。テスト用の基本的な HTML フォームは次のとおりです:

<!DOCTYPE html>
<html>
<head>
    <title>URL Shortener</title>
</head>
<body>
    <form action="http://127.0.0.1:5000/shorten" method="post">
        <label for="url">Enter URL to shorten:</label>
        <input type="text" id="url" name="url">
        <input type="submit" value="Shorten">
    </form>
</body>
</html>

この HTML コードをindex.html として保存し、Web ブラウザで開きます。 URL を入力して短縮し、フォームを送信します。リダイレクト機能のテストに使用できる短縮 URL が表示されます。

結論

これらの手順に従うことで、Python と Flask を使用して簡単な URL 短縮ツールを作成できます。

このツールは、ユーザー認証、分析、URL マッピングを永続的に保存するデータベースなどの追加機能によってさらに強化できます。

もっと詳しく知りたいですか? ZeroByteCode に関するプログラミング記事、ヒント、テクニックをご覧ください。

以上がPython でシンプルな URL 短縮ツールを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。