Python短链接生成、长链接还原,就是这么简单!

小詹学Python

共 1321字,需浏览 3分钟

 ·

2021-02-11 21:33

问题引入

这个问题来自于一位群友的答疑。他的问题是这样的:如何找到一个短链接的原始URL地址。以此为基础,我准备写一篇文章,用Python如何实现长链接、短链接的相互转换。

长链接转短链接

实现长链接 转 短链接的API其实是很多的,我这里直接提供一个供大家使用。
APIhttps://tinyurl.com/create.php
现长如果大家觉得我这个不好用,可以自己下去找寻其它的接口,进行调用,我这里只是提供一个思路。
注意:这是一个英文网站,但是界面很简单,如下:

使用起来很简单,步骤如下:
  • ① 在输入框中输入待转换的原始链接;
  • ② 直接点击确定;
转换后的结果,如下图所示:
然后,我们使用selenium自动化模拟人为操作,来获取这个短链接。我们直接先上源代码,后面在做解释。
from selenium import webdriver

key_word = input("请输入转换地址:")

# 驱动并自动打开chrome浏览器
browser = webdriver.Chrome()
browser.get('https://tinyurl.com/create.php')

# 定位输入框
browser.find_element_by_id("url").send_keys(key_word)
# 定义点击按钮,并点击
browser.find_element_by_xpath('//*[@id="f"]/input[3]').click()

# 查找元素
short_url = browser.find_element_by_xpath('//*[@id="contentcontainer"]/div[2]/b').text
short_url
结合下图,我们来简单说明一下实现原理。① 我们需要定位这个输入框,并写入待转换的链接;② 点击这个“Make TinyURL!”按钮。即可完成链接跳转,后面直接获取跳转后的,网页中的短链接,即可。
下图是我使用上述代码,将我的一篇文章转换短链接后得到的URL。
这个短链接的源地址如下:
https://blog.csdn.net/weixin_41261833/article/details/111546033

短链接转长链接

有时候,我们由于某种需求得到了一个短链接,想要获取它的原链接,此时应该怎么办呢?这个比起前面的操作,更简单了,只需要4行代码
import requests

url = 'https://tinyurl.com/y3yj6hwm'
res = requests.head(url)
print(res.headers.get('location'))
结果如下:
可以看到,我们已经还原了原始链接。

推荐阅读
误执行了rm -fr /*之后,除了跑路还能怎么办?!
程序员必备58个网站汇总
大幅提高生产力:你需要了解的十大Jupyter Lab插件

浏览 58
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报