太实用了!Python竟然能把“长的”变成“短的”!

Python实现短链生成 python实现短链转换 阅读详情

b3f076ac997431d5d949b5f18a50eed2.png

人生苦短,菜鸟学Python!

最近我遇到了一些问题:需要将几百条长链接转成短链接。经过一番学习,发现Python可以轻松解决这个问题,不仅可以实现缩短【长链接→短链接】,也可以实现还原【短链接→长链接】。

2736ff2af4e6785975bc8465141536b9.png
一条长链接

缩短链接

【长链接→短链接】缩短链接,就是把长的要死的链接,缩短到只有几个字符那么长。

这么做是为了什么呢?打个比方,如果你们公司搞了一个活动,需要群发营销短信,结果单单活动链接就占据了一页,那就会非常影响活动效果了。

e303f6547c89b35cd997798332e2e562.png
某机构营销短信

所以公司机构往往会使用短链接,将其应用于活动推广、短信推广、邮件推广、社交推广、APP推广等。

如果使用Python去实现批量缩短长链接,可以怎么做呢?

第一时间想起来的就是百度短网址,两年前练习还调用过他们的api,结果发现今年4月1日就无法个人使用了,gg

a5f981fee86619a1c90f60cfe617d674.png
调用 百度短网址 报错

如果你有服务器,可以自己搭建一个短链接工具。要么就是使用免费/付费的

免费

免费的网站有很多,但并不稳定,有跑路风险。干脆只推荐一个工具箱聚合网站:一个木函(https://ol.woobx.cn/tool/url-shortener)

5712b7988ff1c31c5e1dac217f75b9dd.png
短网址在线生成(一个木函)

如果想使用Python调用,可以抓包该网站转换时的请求,并将curl请求命令转Python请求代码。

付费

免费爽一时,付费一直爽。如果想要保证生成短链接的稳定,可以试试付费方式,这种网站就不进行推荐了。

40cc5a44645daf91bb6c0e62006597af.jpeg

付费自然不需要去抓包接口了,直接调用即可。

4927a15d91131134760677c3dacfc386.png
某付费短链接网站

在交互式环境中输入如下命令:

from urllib.parse import quote
import requests
import json

# 先对要缩短的网址进行urlencode编码
url = "https://mp.weixin.qq.com/s?__biz=MzU5Nzg5ODQ3NQ==&mid=2247521340&idx=1&sn=90bdde598d4a8f14f582387e702c2c2f&chksm=fe4eb1b8c93938ae18f605a5e42d08c4ab7a83ee2d5a03b27763126e64d77cd1600cf256eb01#rd"
url = quote(url)
key = "***********************"

# 请求api接口对url进行缩短
html = requests.get(f"http://api.3w.cn/api.htm?format=json&url={url}&key={key}&expireDate=2050-01-01&domain=21").content
data = json.loads(html.decode('utf-8')) 
print(data["url"])

输出:

http://suo.nz/1FyT2P

在上述代码中,我们首先对要缩短的网址进行urlencode编码,接着请求api接口对url进行缩短。

为什么需要urlencode编码?

URL参数字符串中使用key=value键值对这样的形式来传参,如果value字符串中包含了=或者&,那么会造成接收Url的服务器解析错误,因此必须将引起歧义的&和=符号进行转义,也就是对其进行编码[1]。

还原链接

在前文中,我们实现了Python调用接口自动缩短链接。那么反之,如何还原链接呢?

【短链接→长链接】比起前面的操作,这就简单多了,只需要4行代码[2]。

在交互式环境中输入如下命令:

import requests

url = "https://sourl.cn/AWeBWs"
res = requests.head(url)
print(res.headers.get('location'))

输出:

856334f738caf35b94537f4c210e9844.png

链接的缩短与还原,可能有些冷门,但是对于需要的人来说还是挺实用的,希望对大家有帮助!

参考资料

[1]

Python+requests 之urlencode编码与解码: https://blog.youkuaiyun.com/weixin_43507959/article/details/106578516

[2]

黄伟呢: 数据分析与统计学之美


 
推荐阅读:
入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影
趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|

年度爆款文案

点阅读原文,看B站我的视频!

音频分割:长语音音频 分割为 短语音音频 - python 实现 阅读详情

相关推荐

130行Python代码模仿“蚂蚁呀嘿”特效,太魔性了!

130行Python代码模仿“蚂蚁呀嘿”特效,太魔性了! 最近在抖音上看到很多「蚂蚁呀嘿」的魔性视频,各方大佬齐齐上阵。 刚好看到百度的开源项目,基于PaddleGAN实现表情迁移,于是也来玩一把! 先来看一下成果,各大编程创始人齐唱「蚂蚁呀嘿」! 没配音,感觉不是很精彩,后面上视频。 那么需要如何实现呢,下面手把手教学。 项目地址: https://aistudio.baidu.com/aistudio/projectdetail/1586056 目前该项目适合在Windows和Lin

qq_38082146的博客 4859

这篇介绍把长URL转换为短URL的python库

URL 缩短服务使得分享链接更加方便和美观,同时还能提高链接的安全性.PyShorteners 提供了一个在Python中轻松实现此功能的解决方案.

python茶水实验室 909

Python 平面上的点的最短连线网

Python3.6.3 如下图所示,平面上有一些点,需要将所有点连起来,使任何一个点都可以和其他点连通(直接或间接),且连接线段长度总和最短。 例:下面的四个点,相互连通,并且总长度是最短的。 思路:共有n个点,最短连线集合f(n)一定存在。 假设有m (1≤m<n)个点,它们的最短连线集合是f(m),并且满足在f(n)中这m个点的连线也可以是f(m)。 计算剩余n-...

Ike Liu 1万+

Python竟然能把“长的”变成“短的”?

最近我遇到了一些问题:需要将几百条长链接转成短链接。经过一番学习,发现Python可以轻松解决这个问题,不仅可以实现缩短【长链接→短链接】,也可以实现还原【短链接→长链接】。一条长链接缩短链接【长链接→短链接】缩短链接,就是把长的要死的链接,缩短到只有几个字符那么长。这么做是为了什么呢?打个比方,如果你们公司搞了一个活动,需要群发营销短信,结果单单活动链接就占据了一页,那...

小詹学python的博客 393

批量短链接转换工具

可以批量生成短链接,不限数量,永久使用。详细说明:http://www.deepleo.org/duan/duanesintro.html, 在线生成:http://duan.es

利用SPSS实现逻辑回归,树模型,以及广义线性模型

本案例是IBM SPSS数据分析与挖掘实战案例精粹----第九章的学习记录 案例背景:分析出导致急救后迟发性颅脑损伤的主要影响因素,共有201项案例: 分析思路:先使用logistic回归模型进行影响因素筛选,然后利用分类树探索自变量中是否存在交互作用,最后利用广义线性模型过程拟合带交互项的Logistic回归模型 字段:性别,年龄,收缩压,舒张压,血小板,脑挫伤,中线位移,脑肿胀,入院意识,是否手术急救,其余急救措施,是否出现迟发性脑损伤; ...

hepan_defeng的博客 1万+

HTML中<a>链接标签的6种形式

外部链接 <!--注意外部链接一定要在最前面加 http:// ,还有target="_blank"表示的是在空白标签打开网页--> <a href="http://www.baidu.com" target="_blank">百度</a> 内部链接 <!--当访问位置是本地电脑时可以使用这种方法--> <a href="index.html" target="_blank">主页</a> 空链接 <!--用的是#来表示--&

weixin_45802810的博客 3484

windows的rancherDesktop修改镜像源

Rancher Desktop中的“Allowed Images”功能(通常在 Preferences -> Container Engine -> Allowed Images 中找到)是用来定义一个允许拉取和推送的镜像列表的规则,例如,只允许从您组织或特定的受信任的仓库中获取镜像。如果问题依旧,请提供您Rancher Desktop的版本和当前选择的容器运行时,以便进一步协助。总结一下,对于Windows上的Rancher Desktop,如果您使用默认的。,镜像源的配置通常通过一个名为。

zwjapple的专栏 2700

python 常用快捷键和设置

转自:https://www.pinlue.com/article/2020/01/1513/189902515206.htmlhttps://www.pinlue.com/article/2020/01/1513/189902515206.html

icontent 385

光耦合MOSFET(Optocoupled MOSFET,简称OCMOS)

光耦合MOSFET(Optocoupled MOSFET,简称OCMOS)是一种将光电耦合器和MOSFET结合在一起的器件,用于实现电气隔离和信号传输。选择合适的光耦合MOSFET时,还需要考虑具体应用的需求和环境条件,以确保最佳性能和可靠性。- 最大输出电流和电压:确保所选型号能够满足电路的最大电流和电压需求。- 最大输出电流和电压:确保所选型号能够满足电路的最大电流和电压需求。- 隔离电压:根据应用环境的电气隔离要求选择合适的隔离电压。- 隔离电压:根据应用环境的电气隔离要求选择合适的隔离电压。

eydj2008的专栏 1731

性能测试软件(LR12) 具体汉化(中文)方法

LoadRunner 12 的下载及安装详细过程请参考:https://blog.youkuaiyun.com/xiao66guo/article/details/105465854 1、在LoadRunner文件中找到 Setup.exe 可执行文件,并以管理员的身份运行: C盘 —> Temp—>HP LoadRunner 12.02 Community Edition—> D...

多谢大人光临寒舍,请随便看看,喝口茶吧 ☕️☕️☕️ 1993

Python还能把“长的”变成“短的”?

人生苦短,快学Python! 大家好,我是小五。 最近我遇到了一些问题:需要将几百条长链接转成短链接。经过一番学习,发现Python可以轻松解决这个问题,不仅可以实现缩短【长链接→短链接】,也可以实现还原【短链接→长链接】。 缩短链接 【长链接→短链接】缩短链接,就是把长的要死的链接,缩短到只有几个字符那么长。 这么做是为了什么呢?打个比方,如果你们公司搞了一个活动,需要群发营销短信,结果单单活动链接就占据了一页,那就会非常影响活动效果了。 所以公司机构往往会使用短链接,将其应用于活动推广、短信推广、邮

zhuxiao5的博客 1631

如何实现Docker镜像导入导出 ?

摘要: Docker镜像迁移与备份可通过两种方式实现:1)镜像操作(save/load)完整保存分层结构和元数据,适用于完整备份;2)容器操作(export/import)仅保存文件系统快照,适合创建轻量模板。关键区别在于前者保留历史记录和分层,后者生成单层镜像。save/load命令示例:docker save -o nginx.tar nginx:latest,export/import示例:docker export -o container.tar abc123 && docker

weixin_39291964的博客 876

Sentieon推出混合型短读长和长读长变异检测DNAscope Hybrid流程(上)

Sentieon开发了创新的混合分析流程DNAscope Hybrid,有效地整合了短读长和长读长测序技术的优势,能生成比单独使用一种技术更准确的变异检测结果,从而实现更全面和准确的基因组分析。

bio2s 623

Codex 100个真实案例 - 用AI做英语单词计划学习工具(记忆曲线+测验)

背单词是英语学习的基本功,但市面上的背单词 APP 要么收费、要么广告太多。本案例用 Codex 从零打造一个 **英语单词计划学习工具**,实现 SM-2 间隔重复算法(Anki 的核心算法)、单词本增删改查、多种测验模式(选择题/拼写/听写)、TTS 发音播放,以及学习数据的可视化统计图表。全程用自然语言驱动 Codex,用 Python 写后端逻辑 + 终端 UI,打造你的私人背单词助手!

yueyeguzhuo的专栏 208

YOLOv11 改进 | 模块即插即用

YOLOv11 是一种单阶段目标检测算法,其核心设计目标在于实现检测速度与精度的平衡。其架构延续了 YOLO 系列“端到端”检测的思路,通过统一的网络结构完成特征提取、多尺度特征融合及最终的边界框预测与分类任务。骨干网络(Backbone)颈部网络(Neck)和检测头(Head)。骨干网络负责从输入图像中提取多层次的语义特征。

u012133341的博客 3123

python 求短字符串首次在长字符串出现的位置

字符串有字母数字组成,长字符串长度大于5小于500000,短字符串长度大于0小于5,求短字符串首次在长字符串出现的位置。 #!/usr/bin/python #-*- coding:utf-8 -*- #键盘输入一长一短两个字符串,可以算出短字符在长字符第一次出现的位置 while True: try: long_str = raw_input().strip() short_str = raw_input().strip() #print long...

1077

海洋CMS admin_notify.php 远程代码执行漏洞复现(CVE-2024-30565)

海洋CMS admin_notify.php 接口处存在远程代码执行漏洞,经过身份验证的远程攻击者可利用该漏洞执行任意代码,写入后门文件,进而控制整个web服务器。

0xSec 2720

长知识了!这8个很少用但却很实用的 Python 库真棒!

本文介绍一些我们可能很少听过,但是对于特定问题或者特定任务来说,可能会非常有帮助的 Python 库为了配合上述 Python 库的使用,我们先从 Kaggle 上下载一个数据 -- Animal Care and Control Adopted Animalshttps://www.kaggle.com/jinbonnie/animal-dataimport pandas as pd df = pd.read_csv('animal-data-1.csv'

Python学习与数据挖掘 6074

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

以字符串的长度由长至短或由短至长排序(冒泡排序)

/**      * 以字符串的长度由长至短或由短至长排序(冒泡排序)      *      * @param array 排序的数组      * @param ascOrDesc true:由短至长,false:为由长至短      * @return [参数说明]      *      * @return String[] [返回类型说明]      * @excep

小海的专栏 1554

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

长沙python培训_长的解释|长的意思|汉典“长”字的基本解释

【戌集上】【長】長·康熙筆画:8 ·部外筆画:0 〔古文〕镸????????????????????????????【唐韻】【集韻】直良切【正韻】仲良切,????音場。【增韻】短之對也。【孟子】今交九尺四寸以長。【前漢·田橫傳】尺有所短,寸有所長。又久也。【詩·商頌】濬哲維商,長發其祥。【箋】長,猶久也。【老子·道德經】天地所以能長且久者,以其不自生,故能長生。又遠也。【詩·魯頌】順彼長道,屈此羣醜。【箋】長,遠也。【古詩】道路阻且長。又常也...

weixin_39766014的博客 883

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

用Python实现火爆全网的「蚂蚁呀嘿」!这也太恶搞了吧!

最近在抖音上看到很多「蚂蚁呀嘿」的魔性视频,各方大佬齐齐上阵。 刚好看到百度的开源项目,基于PaddleGAN实现表情迁移,于是也来玩一把! 先来看一下小F的成果,各大编程创始人齐唱「蚂蚁呀嘿」! 没配音,感觉不是很精彩,后面上视频。 那么需要如何实现呢,下面小F来手把手教学。 项目地址: https://aistudio.baidu.com/aistudio/projectdetail/1586056 目前该项目适合在Windows和Linux上操作,Mac...

爬遍所有网站 401

太香!7个非常实用但被低估的Python工具包!

Python 拥有海量的包,无论是普通任务还是复杂任务,我们经常在应用程序中使用大量的工具包。本文我将讨论一些常被低估的数据科学包,包括:数据清理、应用程序开发和调试方面。 1、Faker 生产环境通常具有实时数据。把它放到测试环境中并不容易。我们必须对从生产到测试环境的数据进行标记化,这通常会将数据转换为乱码。 此外,在欺诈行业,我们需要找出欺诈身份。为了生成假PII(个人可识别信息),我使用了一个名为Faker的包,这是一个很酷的软件包,可以让你创建一个带有地址、名字等的假PII。 以上是一些虚假数

Python学习与数据挖掘 4980

Rich:让你的Python终端输出从“黑白默片“变成“彩色大片“!

🐔 入门门槛低+ 替换print,5秒见效!🌈 视觉效果炸裂:终端从此告别单调,信息呈现效率飙升!⚡ 调试效率翻倍:复杂数据结构、错误堆栈一目了然。🤝 沟通更顺畅:输出结果小白都能看懂,团队协作更高效。🛠 场景全覆盖:日志、CLI工具、脚本输出、文档展示…通吃!还在等什么?马上,让你的Python输出从"黑白默片时代"飞跃到"4K杜比视界"!!!(相信我,用过就回不去了~)P.S.Rich的文档写得超级友好(而且用Rich渲染的哦!(纯文档链接,非引流!

pythonpioneer的博客 879

太实用了!这几个Python数据可视化案例!

点击上方“菜鸟学Python”,选择“星标”公众号超级无敌干货,第一时间送达!!!大家好,我是菜鸟哥。(文末送书)利用可视化探索图表一、数据可视化与探索图 数据可视化是指用图形或表格的方式来呈现数据。图表能够清楚地呈现数据性质, 以及数据间或属性间的关系,可以轻易地让人看图释义。用户通过探索图(Exploratory Graph)可以了解数据的特性、寻找数据的趋...

cainiao_python的博客 1万+
上一篇: 太赞了!2W行代码、200个实战项目,教你写出高质量的代码!
下一篇: 马斯克“放鸽子”!推特索要10亿赔偿
菜鸟学Python
博客等级 码龄9年 8088粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值