利用Python打造短链接服务

Posted Jason_WangYing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用Python打造短链接服务相关的知识,希望对你有一定的参考价值。

有时候我们需要推广的链接太长不利于我们去推广,这时候我们就需要用到短链接服务。

目前国内有很多家网站提供网站缩短服务,比如腾讯家的http://t.im、微博家的http://t.cn、百度家的http://dwz.cn等,有一些只是提供简单的网址缩短服务,有一些则在网址缩短服务的基础上还增加了访客统计的功能,对一些推广链接来说,很有用。

我们也可以利用Python的Django服务构建个短链接服务。

我们选用的是随机字符串匹配原始网址的网址缩短方案,所以,我们需要使用数据库将生成的随机字符串和原始网址一一对应保存在一张数据表中。

分析一下,这张数据表里面,一共有些什么字段:

  • 随机字符串:对应于原始网址的缩短码;
  • 原始网址URL
  • 创建时间:方便进行记录统计
  • 活动状态:方便短链管理
  • 如果想进行访问统计什么的话,可以添加到这或者再加一张表单独统计详细情况。

那么,我们就需要在Django中创建一张有四个字段的数据模型。在models.py文件中创建一个DwzURL模型。

 

 

重写DwzURL模型的save()方法,让其在保存的时候自动调用缩短码生成函数生成一个缩短码:

这里其实还需要检测缩短码是否有重复的,如果有需要再生成,如果后期业务量大的话,建议可以提前生成存放到数据库,每次使用从数据库里面直接取,这样可以缩短延迟。

我们创建视图

再设置路由后就可以用了

以上是关于利用Python打造短链接服务的主要内容,如果未能解决你的问题,请参考以下文章

t.cn短网址怎么生成?利用新浪短链接转化器生成永久短网址的几种方法

短链接

长链接转短链接(短网址)

如何使用ASP.NET Core Web API实现短链接服务

如何实现一个短链接服务

短链接和长链接