Maison >développement back-end >Tutoriel Python >Comment créer un outil de raccourcissement d'URL simple avec Python

Comment créer un outil de raccourcissement d'URL simple avec Python

WBOY
WBOYoriginal
2024-07-23 20:57:04785parcourir

How to Create a Simple URL Shortener Tool with Python

Un outil de raccourcissement d'URL permet aux utilisateurs de prendre une URL longue et de la convertir en un lien plus court et plus gérable. Nous pouvons créer une version simple de cet outil en utilisant Python et Flask, un framework Web léger.

Conditions préalables

Avant de commencer, assurez-vous d'avoir les éléments suivants :

  • Python installé sur votre système (Python 3.6+ est recommandé).
  • Flacon installé. Vous pouvez installer Flask en utilisant pip.

Étape 1 : configuration de votre environnement

Tout d'abord, vous devez créer un environnement virtuel et installer Flask. Ouvrez votre terminal et exécutez les commandes suivantes :

# 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

Étape 2 : rédiger le code

Créez un répertoire pour votre projet, par exemple url_shortener, et à l'intérieur, créez un fichier Python appelé app.py. Nous allons diviser le code en sections.

Importation des bibliothèques requises

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

Configuration de l'application Flask et de la base de données

Nous utiliserons un simple dictionnaire en mémoire pour stocker les mappages d'URL. Pour une solution plus robuste, vous pouvez utiliser une base de données comme SQLite ou PostgreSQL.

app = Flask(__name__)
url_mapping = {}

Fonction pour générer des URL courtes

Nous allons créer une fonction qui génère une clé URL courte.

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

Itinéraire pour gérer le raccourcissement d’URL

Cette route prendra une URL longue de la part de l'utilisateur et renverra une version raccourcie.

@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}'

Itinéraire pour rediriger les URL courtes

Cette route redirigera les utilisateurs de l'URL courte vers l'URL longue d'origine.

@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

Fonction principale pour exécuter l'application

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

Étape 3 : Exécuter l'outil

Enregistrez votre fichier app.py et exécutez-le depuis le terminal :

python app.py

Le serveur de développement Flask démarrera et vous pourrez accéder à l'outil de raccourcissement d'URL en accédant à http://127.0.0.1:5000 dans votre navigateur Web.

Étape 4 : tester l'outil

Pour raccourcir une URL, vous pouvez utiliser un outil comme curl ou un simple formulaire HTML. Voici un formulaire HTML de base à tester :

<!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>

Enregistrez ce code HTML sous index.html et ouvrez-le dans votre navigateur Web. Entrez une URL pour raccourcir et soumettre le formulaire. Vous devriez voir une URL raccourcie que vous pouvez utiliser pour tester la fonctionnalité de redirection.

Conclusion

En suivant ces étapes, vous pouvez créer un simple outil de raccourcissement d'URL à l'aide de Python et Flask.

Cet outil peut être encore amélioré avec des fonctionnalités supplémentaires telles que l'authentification des utilisateurs, des analyses et une base de données pour stocker les mappages d'URL de manière persistante.

Vous voulez en savoir plus ? Découvrez des articles, des trucs et astuces sur la programmation sur ZeroByteCode.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn