Python实现url长短链接的转换

 更新时间:2022年11月29日 11:52:26   作者:三爷  
短链接,通俗来说,就是将长的URL网址,通过程序计算等方式,转换为简短的网址字符串。本文将用Python语言实现这一效果,需要的可以参考一下

简介

短链接,通俗来说,就是将长的URL网址,通过程序计算等方式,转换为简短的网址字符串。早期短链接广泛应用于图片上传网站,通过缩短网址URL链接字数,达到减少代码字符串的目的。更便于使用者引用网址,写入代码中。节省字符数空间。常见于网店图片分类的使用,因有字符限制,运用短链接,达到外链图片的目的,自微博盛行以来,在微博字数有限的特色下,短链接也盛行于微博网站,以节省字数,给博主发布更多文字的空间。

案例源码

# -*- coding: utf-8 -*-
# time: 2022/11/28 11:08
# file: football-demo.py
# 公众号: 玩转测试开发
import requests
import pyshorteners as psn


def long_to_short(url):
    url = psn.Shortener().chilpit.short(url)
    return url


def short_to_long(url):
    res = requests.head(url)
    # message = {'Date': 'Sun, 27 Nov 2022 17:26:32 GMT', 'Content-Type': 'text/html; charset=UTF-8',
    #      'Connection': 'keep-alive', 'X-Powered-By': 'PHP/5.3.3', 'Location': 'http://www.baidu.com',
    #      'CF-Cache-Status': 'DYNAMIC', 'Server-Timing': 'cf-q-config;dur=6.9999950937927e-06',
    #      'Report-To': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v3?s=dZVwSakX8hPJ3YnxC%2FVp%2B2wBnUiDEfcjSHtVUz2NjiCpKI46AjQv2zDtngtoV4fSb1oRuvsD4MNUfjObf69EuCoRzrqooW9M94kez0KhF%2F5QiraTBcsNGhOhvQ%3D%3D"}],"group":"cf-nel","max_age":604800}',
    #      'NEL': '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', 'Server': 'cloudflare',
    #      'CF-RAY': '770c91c26998cfac-SJC'}

    return res.headers.get("location")


if __name__ == '__main__':
    long_link = "http://www.baidu.com/"

    short_link = long_to_short(url=long_link)  # 长链接 转 短链接
    print(f"长链接转为短链接:{short_link}")

    long_restore_link = short_to_long(url=short_link)  # 短链接 还原为 长链接
    print(f"还原完成后的链接:{long_restore_link}")

运行结果

知识点补充

Python:短网址

简介:短网址(Short URL),是指形式上比较简短并具有自动重定向到指定链接功能的网址。随着网络、移动通信的普及,越来越多的人喜欢通过微博、手机短信发布自己的信息。

使用场景:

1、有时微博、短信等都有字数限制,太长的网址会占用大量字节甚至无法输入,而这时使用短网址服务就显得十分必要和方便了。

2、短网址服务,能够将您偏爱的新闻链接、博客地址、论坛帖子、淘宝店铺、淘宝商品等的冗长的网址转换缩短为更简短、方便的短网址的工具。

pyshorteners是Python中简单的URL缩短库,提供了18种短链根域名供使用。

安装:

pip install pyshorteners

pyshorteners有16种短链根域名供使用:

# adfly.py
# bitly.py
# chilpit.py
# clckru.py
# cuttly.py
# dagd.py 
# gitio.py
# isgd.py
# nullpointer.py
# osdb.py  
# owly.py
# post.py
# qpsru.py
# shortcm.py
# tinycc.py
# tinyurl.py

部分短链根域名需要api_key抛出异常AttributeError: 'Shortener' object has no attribute 'api_key',则建议使用可以不需要api_key的

经过实测:只有部分可用

# clckru.py
# dagd.py
# osdb.py
# qpsru.py

示例:qpsru

import pyshorteners as psn

url = "http://www.baidu.com/"
u = psn.Shortener().qpsru.short(url)
print(u)

运行结果

到此这篇关于Python实现url长短链接的转换的文章就介绍到这了,更多相关Python url长短链接转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python爬虫urllib中的异常模块处理

    python爬虫urllib中的异常模块处理

    这篇文章主要为大家介绍了python爬虫在爬取网页时urllib中的异常模块处理,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • python使用QQ邮箱实现自动发送邮件

    python使用QQ邮箱实现自动发送邮件

    这篇文章主要为大家详细介绍了python使用QQ邮箱实现自动发送邮件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • Pytorch中使用TensorBoard详情

    Pytorch中使用TensorBoard详情

    这篇文章主要介绍了Pytorch中使用TensorBoard详情,TensorBoard的前段数据显示和后端数据记录是异步I/O的,即后端程序将数据写入到一个文件中,而前端程序读取文件中的数据来进行显示
    2022-06-06
  • Python 网络编程之TCP客户端/服务端功能示例【基于socket套接字】

    Python 网络编程之TCP客户端/服务端功能示例【基于socket套接字】

    这篇文章主要介绍了Python 网络编程之TCP客户端/服务端功能,结合实例形式分析了Python使用socket套接字实现TCP协议下的客户端与服务器端数据传输操作技巧,需要的朋友可以参考下
    2019-10-10
  • python df遍历的N种方式(小结)

    python df遍历的N种方式(小结)

    本文主要介绍了python df遍历的N种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • numpy中的掩码数组的使用

    numpy中的掩码数组的使用

    本文主要介绍了numpy中的掩码数组的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • python编程使用selenium模拟登陆淘宝实例代码

    python编程使用selenium模拟登陆淘宝实例代码

    这篇文章主要介绍了python编程使用selenium模拟登陆淘宝实例代码,涉及selenium的简介及Windows下的安装,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • Python性能测试工具Locust安装及使用

    Python性能测试工具Locust安装及使用

    这篇文章主要介绍了Python性能测试工具Locust安装及使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • Python实战之梦幻钢琴小游戏的实现

    Python实战之梦幻钢琴小游戏的实现

    这篇文章主要为大家详细介绍了如何利用Python语言编写一款界面化的(Tkinter)电子钢琴小程序,文中的示例代码讲解详细,感兴趣的可以了解一下
    2023-02-02
  • Python的加密模块之hashlib 与 base64详解及常用加密方法

    Python的加密模块之hashlib 与 base64详解及常用加密方法

    我们来学习一下 Python 中的加密模块,加密模块在工作中被广泛应用,比如数据的传入 不希望被捕获,通过把数据加密。这样即使被捕获也无法获取到数据的真实信息,今天我们就来学习一下关于加密的方法,感兴趣的朋友跟随小编一起看看吧
    2023-02-02

最新评论