Python實現(xiàn)url長短鏈接的轉換
簡介
短鏈接,通俗來說,就是將長的URL網(wǎng)址,通過程序計算等方式,轉換為簡短的網(wǎng)址字符串。早期短鏈接廣泛應用于圖片上傳網(wǎng)站,通過縮短網(wǎng)址URL鏈接字數(shù),達到減少代碼字符串的目的。更便于使用者引用網(wǎng)址,寫入代碼中。節(jié)省字符數(shù)空間。常見于網(wǎng)店圖片分類的使用,因有字符限制,運用短鏈接,達到外鏈圖片的目的,自微博盛行以來,在微博字數(shù)有限的特色下,短鏈接也盛行于微博網(wǎng)站,以節(jié)省字數(shù),給博主發(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:短網(wǎng)址
簡介:短網(wǎng)址(Short URL),是指形式上比較簡短并具有自動重定向到指定鏈接功能的網(wǎng)址。隨著網(wǎng)絡、移動通信的普及,越來越多的人喜歡通過微博、手機短信發(fā)布自己的信息。
使用場景:
1、有時微博、短信等都有字數(shù)限制,太長的網(wǎng)址會占用大量字節(jié)甚至無法輸入,而這時使用短網(wǎng)址服務就顯得十分必要和方便了。
2、短網(wǎng)址服務,能夠將您偏愛的新聞鏈接、博客地址、論壇帖子、淘寶店鋪、淘寶商品等的冗長的網(wǎng)址轉換縮短為更簡短、方便的短網(wǎng)址的工具。
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的
經(jīng)過實測:只有部分可用
# 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實現(xiàn)url長短鏈接的轉換的文章就介紹到這了,更多相關Python url長短鏈接轉換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python中plot實現(xiàn)即時數(shù)據(jù)動態(tài)顯示方法
這篇文章主要為大家詳細介紹了python中plot實現(xiàn)即時數(shù)據(jù)動態(tài)顯示方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-06-06Python大批量寫入數(shù)據(jù)(百萬級別)的方法
這篇文章主要給大家介紹了關于Python大批量寫入數(shù)據(jù)(百萬級別)的相關資料,在日常處理數(shù)據(jù)的過程中,我們都有批量寫入數(shù)據(jù)的需求,文中給出了詳細的示例代碼,需要的朋友可以參考下2023-07-07python算法學習雙曲嵌入論文代碼實現(xiàn)數(shù)據(jù)集介紹
由于雙曲嵌入相關的文章已經(jīng)有了一系列的代碼。本篇博客主要目的實現(xiàn)最開始的雙曲嵌入論文,將論文中有些直接寫出來的內(nèi)容進行了細節(jié)的推導,同時實現(xiàn)對應的代碼2021-11-11python等差數(shù)列求和公式前 100 項的和實例
今天小編就為大家分享一篇python等差數(shù)列求和公式前 100 項的和實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02Java?超詳細講解核心類Spring?JdbcTemplate
JdbcTemplate?JdbcTemplate是Spring?JDBC核心包(core)中的核心類,它可以通過配置文件、注解、Java?配置類等形式獲取數(shù)據(jù)庫的相關信息,實現(xiàn)了對JDBC開發(fā)過程中的驅動加載、連接的開啟和關閉、SQL語句的創(chuàng)建與執(zhí)行、異常處理、事務處理、數(shù)據(jù)類型轉換等操作的封裝2022-04-04