Python实现url长短链接的转换
作者:三爷 发布时间:2022-07-21 14:05:58
标签:Python,url,链接,转换
简介
短链接,通俗来说,就是将长的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:短网址
简介:短网址(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)
运行结果
来源:https://mp.weixin.qq.com/s/lAXwp6U0lWkR4SEf0fWxrw


猜你喜欢
- 在Python我们要判断一个文件对当前用户有没有读、写、执行权限,我们通常可以使用os.access函数来实现,比如:# 判断读权限os.a
- asp之家注:在网页设计或编程中如何以最方便的方法来处理图片的宽高,以达到最佳的显示效果,这个问题相信很多网页制作人员都遇到过,最麻烦最费时
- 本文实例讲述了php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法。分享给大家供大家参考,具体如下:微信支付a
- 1. composer 安装 PDF组件composer require setasign/fpdicomposer require set
- 一、错误代码:摘要和详细的url获取不到import asynciofrom bs4 import BeautifulSoupimport
- 表查询: 合并查询:使用union关键字,可将满足条件的重复行去掉。 select ename,sal,job from emp where
- 前言:Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开
- PHP代码 $str = preg_replace("/(<a.*?>)(.*?)(<\/a>)/&quo
- 前言最近又多了不少朋友关注,先在这里谢谢大家。关注我的朋友大多数都是大学生,而且我简单看了一下,低年级的大学生居多,大多数都是为了完成课程设
- 什么是高阶函数高阶函数就是能够把函数当成参数传递的函数就是高阶函数,换句话说如果一个函数的参数是函数,那么这个函数就是一个高阶函数。高阶函数
- 首先贴出四种方法适用范围比较:注释:Excel 2003 即XLS文件有大小限制即65536行256列,所以不支持大文件。而Excel 20
- 空接口定义空接口是特殊形式的接口类型,普通的接口都有方法,而空接口没有定义任何方法口,也因此,我们可以说所有类型都至少实现了空接口。type
- csscompressor 库使用在 Python 中可以使用多种方法来压缩 CSS 文件。其中一种流行的方法是使用 csscompress
- Flask解决跨域1、下载flask_cors包pip install flask-cors2、使用flask_cors的CORS代码示例f
- 最近研究研究了css,少不了去网上分析一下别人的网页, 但很多网站的css文件都是要么写在一行,要么一个换行都没有,看起来极其痛苦,所以写一
- 详解python中的文件与目录操作一 获得当前路径1、代码1>>>import os>>>print(&
- 博主最近试在服务器上进行spark编程,因此,在开始编程作业之前,要先搭建一个便利的编程环境,这样才能做到舒心地开发。本文主要有以下内容:1
- 写在前面SciPy的optimize模块提供了许多数值优化算法,下面对其中的一些记录。非线性方程组求解SciPy中对非线性方程组求解是fsl
- 当我们想指定每一层的学习率时:optim.SGD([ &
- 本文实例讲述了python实现Oracle查询分组的方法。分享给大家供大家参考,具体如下:1.分组的概念:关键字:group by子句结论: