如何使用 Python 创建简单的 URL 缩短工具

如何使用 python 创建简单的 url 缩短工具

url 缩短工具允许用户将长 url 转换为更短、更易于管理的链接。我们可以使用 python 和 flask(一个轻量级 web 框架)构建该工具的简单版本。

先决条件

开始之前,请确保您具备以下条件:

您的系统上已安装python(推荐python 3.6+)。flask 安装完毕。您可以使用 pip 安装 flask。

第 1 步:设置您的环境

首先需要创建虚拟环境并安装flask。打开终端并运行以下命令:

# create a virtual environmentpython -m venv myenv# activate the virtual environment# on windowsmyenvscriptsctivate# on macos/linuxsource myenv/bin/activate# install flaskpip install flask

登录后复制

第 2 步:编写代码

为您的项目创建一个目录,例如 url_shortener,并在其中创建一个名为 app.py 的 python 文件。我们将把代码分成几个部分。

导入所需的库

from flask import flask, request, redirect, url_forimport stringimport random

登录后复制

设置 flask 应用程序和数据库

我们将使用一个简单的内存字典来存储 url 映射。为了获得更强大的解决方案,您可以使用 sqlite 或 postgresql 等数据库。

app = flask(__name__)url_mapping = {}

登录后复制

生成短网址的函数

我们将创建一个生成短 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 的路由

此路由会将用户从短网址重定向到原始长网址。

@app.route('/')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 开发服务器将启动,您可以通过在网络浏览器中导航到 http://127.0.0.1:5000 来访问 url 缩短工具。

立即学习“Python免费学习笔记(深入)”;

第 4 步:测试工具

要缩短 url,您可以使用curl 等工具或简单的 html 表单。这是用于测试的基本 html 表单:

    URL Shortener                                

登录后复制

将此 html 代码保存为 index.html 并在网络浏览器中打开它。输入要缩短的 url 并提交表单。您应该会看到一个缩短的 url,可用于测试重定向功能。

结论

按照以下步骤,您可以使用 python 和 flask 创建一个简单的 url 缩短工具。

可以通过用户身份验证、分析和用于持久存储 url 映射的数据库等附加功能进一步增强此工具。

想了解更多吗?在 zerobytecode 上探索编程文章、提示和技巧。

以上就是如何使用 Python 创建简单的 URL 缩短工具的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2197881.html

(0)
上一篇 2025年2月25日 22:37:48
下一篇 2025年2月25日 00:21:37

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 如何使用 Python 和 OpenAI API 创建基本的文章写作工具

    使用 python 和 openai api 创建文章写作工具涉及几个步骤。 我们将设置您的环境,安装必要的库,并编写代码来生成文章。 先决条件 开始之前,请确保您具备以下条件: 您的系统上已安装python(推荐python 3.6+)。…

    2025年2月25日
    200
  • 使用 Asyncio 进行异步编程

    在编程世界中,“非阻塞”的概念无处不在。 javascript 开发人员经常使用术语“异步”,因为它是 javascript 的优势之一。然而,要真正理解异步编程,必须掌握并发和并行编程的概念。 并发编程 当几个独立的实体同时工作时,编程是…

    2025年2月25日
    100
  • 如何在Python中使用Phonepe api并集成phonepe网关

    介绍 phonepe 是印度流行的数字支付平台,为个人和企业提供一系列支付解决方案。如果您希望将 phonepe 支付集成到您的应用程序或网站中,本指南将引导您完成使用 phonepe api 和集成 phonepe 网关的过程。您可以在这…

    2025年2月25日
    200
  • 编程提示和技巧:提升您的编码游戏水平

    每个程序员都喜欢发现新的技巧和窍门,以使他们的工作更轻松、更高效。以下是一些提升编码游戏水平的实用技巧: 更好的 console.logs:尝试使用 console.table() 代替通常的 console.log(),以便在记录数组或对…

    2025年2月25日
    200
  • 打造完美展示:Gallery Window 时尚网站的创建

    在 Gallery Window Fashion,我们为向休斯顿及其他地区提供卓越的窗帘解决方案而感到自豪。为了体现我们对质量和客户满意度的承诺,我们投资创建了一个最先进的网站,展示我们的产品并增强用户体验。本文深入探讨了我们如何构建网站、…

    2025年2月25日
    200
  • Python 播客的可能主题

    我多年来一直向人文学科的学生教授编程。这也是我们有时可以在编程社区中谈论的事情。 在这样的对话中你能关注什么? 这是对话计划的大纲: 人文专业的学生为什么要学习Python?通过代码解决的常见问题。为什么选择 Python 而不是 R 或 …

    2025年2月25日
    200
  • 每个开发人员都应该知道的顶级 Python 库

    Python 是一种流行的编程语言,以其简单性、多功能性以及大量的库和模块而闻名,这使其成为开发人员的首选。这些库提供了广泛的工具和功能来构建各种类型的应用程序。让我们探索每个开发人员都应该了解的不同应用程序的一些顶级 Python 库。 …

    2025年2月25日
    200
  • 人工智能交易模型

    介绍 人工智能(ai)通过提供先进的工具来分析大型数据集并做出预测,彻底改变了交易。该项目演示了如何使用历史价格数据构建简单的 ai 模型进行交易。 入门 这些说明将帮助您在本地机器上设置并运行人工智能交易模型。 先决条件 python 3…

    2025年2月25日
    200
  • 你是什​​么蟒蛇?

    Python 是一种多范式解释型编程语言,这意味着它支持面向对象编程、命令式编程以及部分函数式编程和脚本编写。 重要的是要知道Python是跨平台和开源的;它允许开发人员创建大量的库或模块,以便能够用它做几乎任何事情。 因此,它是一种功能强…

    2025年2月25日
    200
  • Python – 索引和切片

    索引和切片是python中的一个重要概念,尤其是当我们使用字符串时。 索引: wkt,字符串只不过是字符序列。 因此,每个字符都有一个位置,即 index,访问它们在该特定字符串中的位置称为 indexing。 在python中,我们有基于…

    2025年2月25日
    200

发表回复

登录后才能评论