短链,顾名思义,就是将原始长链缩短,以此达到更易于传播的效果。短链本身的原理其实很简单,即生成一个全局唯一ID,保存这个短链和原始链接的映射关系,一般通过302重定向的方式从短链跳转到原始链接。说到唯一ID我们一般可能会想到通过雪花算法、哈希算法去生成,但这样做要么不够短,要么需要解决哈希碰撞的问题,因此,我们这里不妨使用自增ID,然后转成由26英文字母大小写和10个阿拉伯数字构成的62进制数字,粗略计算一下,仅仅6位长度即可表示近6百亿,7位长度可达数万亿,可以说是绰绰有余了。
例如:
https://mp.weixin.qq.com/s?__biz=MzIxMjE1ODAzOA==&mid=2650631198&idx=1&sn=8fec9cd03e77f1e903e5366bcfe37d14&chksm=8f439f27b83416317e4e017cc7ea648cf84aec77b912d776fbb3a0f838ed4faaa98513b14efb&token=320270898&lang=zh_CN#rd
https://clck.ru/WrxvL
26个大写字母 26小写字母,10个数字,随机生成6个然后插入数据库对应一个id,短连接跳转的时候,根据字符串查询到对应id,即可实现相应的跳转!不过2的62次方,不知道有没有重复的,小概率可以,但是对应不是很大的网站应该足够了
今天,我们介绍一个python库【pyshorteners(短网址)】
「pyshorteners是一个简单的URL缩短Python库。」
提供了18种短链根域名供使用。
pip install pyshorteners
import pyshorteners as ps
url = "https://mp.weixin.qq.com/s?__biz=MzIxMjE1ODAzOA==&mid=2650631198&idx=1&sn=8fec9cd03e77f1e903e5366bcfe37d14" \
"&chksm=8f439f27b83416317e4e017cc7ea648cf84aec77b912d776fbb3a0f838ed4faaa98513b14efb&token=320270898&lang=zh_CN" \
"#rd "
u = ps.Shortener().clckru.short(url)
print(u)
https://clck.ru/WrxvL
短链接的好处:
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有