美文网首页
Python实现长链接转短链接(附实现原理)

Python实现长链接转短链接(附实现原理)

作者: 憧憬001 | 来源:发表于2019-04-11 08:49 被阅读0次

话不多说,直接上代码

# 导入requests库
import requests

# 需要转换的长链接
long_url = "https://github.com/chongjing001/MyProject/tree/master/renting"
querystring = {"url":long_url}

# 调用接口实现(感谢大佬的接口)
url = "http://suo.im/api.php"

# 转换
response = requests.request("GET", url, params=querystring)

print(response.text)

>>>
http://suo.im/4APBBP

--------------------------------------------分割线---------------------------------------------

下面说一下原理

  • 1.长链接转换为短链接核心就是进制转换
  • 2.十进制数转为62进制( 0~9 + A~Z + a~z )共62个字符
  • 3.假如允许转换的10进制数范围为 10 000 000~ 99 999 999 (唯一,相当于数据库主键)每一个数字对应一个长链接,再转为62进制数
  • 4.浏览器解析时,现将短链接(62进制数)转换成 10进制数 --- > 再找到对应的长链接,最后解析
# 数字转62进制
def convert(num):
    global all_chars
    all_chars = '0123456789ABCDEFGHIGKLMNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz'
    digits = []
    while num > 0:
        # 拿到对应的下标取得62进制数,并插入列表0号位
        digits.insert(0, all_chars[num % 62])
        num//= 62
    return ''.join(digits)

# 例:12 000 000 转为62进制数为 oLkO
print(convert(12000000))
>>>>
'oLkO'

相关文章

  • Python实现长链接转短链接(附实现原理)

    话不多说,直接上代码 --------------------------------------------分割...

  • 长链接转短链接

    新浪短网址接口的稳定性和跳转速度还是很给力的,现给出其API说明。 该接口支持两种返回格式:xml和json 对应...

  • 短链接实现

    经常能看到某些站点会使用一些短链接,例如:t.cn/RyG7nlE这样形式的链接。 短链接有以下好处:1、短小精悍...

  • 网页短链接实现原理探究

    事情是这样的,今天一人问我一个问题,但是我懒得在说,就在网上找了一篇博客通过QQ发送给他,但是在发送链接时我发现之...

  • 100篇技术文章

    1.Class类的底层实现原理 - 链接 链接 2.Category分类的底层实现原理 - 链接 3.Block块...

  • 短链的生成方式和用途

    短链的作用1.链接变短2.过滤垃圾链接实现原理key-value存储 利用 自增长的key作为 短链 (这样能保...

  • 短链接原理

    说明 长链接比较长,一般分享有字数限制,所以需要转换为短链接。比如:长链接:https://github.com/...

  • PHP短链接实现方式!

    实现思路: 将传入的长链接存入内存数据库中,并记录创建时间,返回自增ID。将返回的id进行10进制转64进制编码:...

  • ShortUrlService 短链接实现思路

    本文分析一下 ShortUrlService 的实现思路,结合 Yii 2.0 的 Service Locator...

  • 可生成/管理/可自定义地址的 短链接URL网站

    这是一个简单的 短链接URL 生成/管理网站,可以实现 长链接缩短,方便好记,有以下特点: 支持 隐形URL转发支...

网友评论

      本文标题:Python实现长链接转短链接(附实现原理)

      本文链接:https://www.haomeiwen.com/subject/gidziqtx.html