前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >02 奇妙的Python库之【pyshorteners(短网址)】

02 奇妙的Python库之【pyshorteners(短网址)】

作者头像
测试开发囤货
发布2021-09-08 10:25:49
1.3K0
发布2021-09-08 10:25:49
举报
文章被收录于专栏:测试开发囤货测试开发囤货
背景

短链,顾名思义,就是将原始长链缩短,以此达到更易于传播的效果。短链本身的原理其实很简单,即生成一个全局唯一ID,保存这个短链和原始链接的映射关系,一般通过302重定向的方式从短链跳转到原始链接。说到唯一ID我们一般可能会想到通过雪花算法、哈希算法去生成,但这样做要么不够短,要么需要解决哈希碰撞的问题,因此,我们这里不妨使用自增ID,然后转成由26英文字母大小写和10个阿拉伯数字构成的62进制数字,粗略计算一下,仅仅6位长度即可表示近6百亿,7位长度可达数万亿,可以说是绰绰有余了。

例如:

  • 原链接:
代码语言:javascript
复制
https://mp.weixin.qq.com/s?__biz=MzIxMjE1ODAzOA==&mid=2650631198&idx=1&sn=8fec9cd03e77f1e903e5366bcfe37d14&chksm=8f439f27b83416317e4e017cc7ea648cf84aec77b912d776fbb3a0f838ed4faaa98513b14efb&token=320270898&lang=zh_CN#rd
  • 短链接:
代码语言:javascript
复制
https://clck.ru/WrxvL

26个大写字母 26小写字母,10个数字,随机生成6个然后插入数据库对应一个id,短连接跳转的时候,根据字符串查询到对应id,即可实现相应的跳转!不过2的62次方,不知道有没有重复的,小概率可以,但是对应不是很大的网站应该足够了

简介

今天,我们介绍一个python库【pyshorteners(短网址)】

「pyshorteners是一个简单的URL缩短Python库。」

提供了18种短链根域名供使用。

实战

代码语言:javascript
复制
pip install pyshorteners

  • 代码
代码语言:javascript
复制
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)
  • 转换结果
代码语言:javascript
复制
https://clck.ru/WrxvL

总结

短链接的好处:

  1. 内容需要
  2. 用户友好
  3. 便于管理

下集预告

  • googletrans(翻译)
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-08-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发囤货 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 实战
  • 总结
  • 下集预告
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档