Python实现url长短链接的转换

作者:三爷 时间:2022-07-21 14:05:58 

简介

短链接,通俗来说,就是将长的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实现url长短链接的转换

Python实现url长短链接的转换

知识点补充

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长短链接的转换

来源:https://mp.weixin.qq.com/s/lAXwp6U0lWkR4SEf0fWxrw

标签:Python,url,链接,转换
0
投稿

猜你喜欢

  • pandas添加新列的5种常见方法

    2022-08-09 16:45:03
  • 使用python装饰器验证配置文件示例

    2022-05-27 03:10:11
  • Python中six模块基础用法

    2021-03-12 18:24:30
  • 关于jieba.cut与jieba.lcut的区别及说明

    2022-12-10 17:02:20
  • python基础之错误和异常处理

    2021-07-28 05:46:15
  • Django使用redis缓存服务器的实现代码示例

    2022-12-15 09:16:28
  • Python中按值来获取指定的键

    2023-05-01 13:21:07
  • python、Matlab求定积分的实现

    2021-08-25 15:43:28
  • vue props 一次传多个值实例

    2024-05-03 15:10:32
  • golang bufio包中Write方法的深入讲解

    2024-05-08 10:45:31
  • 对Pytorch神经网络初始化kaiming分布详解

    2022-08-27 01:39:50
  • Python ndarray 数组的变形详情

    2023-05-13 14:58:47
  • 如何固定表格的标题行和标题列

    2007-09-20 13:03:00
  • Python使用matplotlib绘制余弦的散点图示例

    2023-04-08 03:56:29
  • PID原理与python的简单实现和调参

    2021-08-13 13:27:36
  • Python列表删除所有出现元素的两种方法

    2023-03-05 23:24:08
  • 手机浏览器唤起微信分享(JS)

    2024-04-19 09:56:18
  • Golang操作sqlite3数据库的详细教程

    2024-01-14 05:32:52
  • Python切片操作实例分析

    2022-05-02 17:49:25
  • Go语言实现文件上传

    2023-07-08 18:26:38
  • asp之家 网络编程 m.aspxhome.com