Python實現url長短鏈接的轉換
簡介
短鏈接,通俗來說,就是將長的URL網址,通過程序計算等方式,轉換為簡短的網址字符串。早期短鏈接廣泛應用于圖片上傳網站,通過縮短網址URL鏈接字數,達到減少代碼字符串的目的。更便于使用者引用網址,寫入代碼中。節(jié)省字符數空間。常見于網店圖片分類的使用,因有字符限制,運用短鏈接,達到外鏈圖片的目的,自微博盛行以來,在微博字數有限的特色下,短鏈接也盛行于微博網站,以節(jié)省字數,給博主發(fā)布更多文字的空間。
案例源碼
# -*- coding: utf-8 -*-
# time: 2022/11/28 11:08
# file: football-demo.py
# 公眾號: 玩轉測試開發(fā)
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),是指形式上比較簡短并具有自動重定向到指定鏈接功能的網址。隨著網絡、移動通信的普及,越來越多的人喜歡通過微博、手機短信發(fā)布自己的信息。
使用場景:
1、有時微博、短信等都有字數限制,太長的網址會占用大量字節(jié)甚至無法輸入,而這時使用短網址服務就顯得十分必要和方便了。
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)
運行結果


到此這篇關于Python實現url長短鏈接的轉換的文章就介紹到這了,更多相關Python url長短鏈接轉換內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java?超詳細講解核心類Spring?JdbcTemplate
JdbcTemplate?JdbcTemplate是Spring?JDBC核心包(core)中的核心類,它可以通過配置文件、注解、Java?配置類等形式獲取數據庫的相關信息,實現了對JDBC開發(fā)過程中的驅動加載、連接的開啟和關閉、SQL語句的創(chuàng)建與執(zhí)行、異常處理、事務處理、數據類型轉換等操作的封裝2022-04-04

