PythonでURL短縮ツールを作りたい?もう迷うことはありません。
長いURLをナビゲートしたり共有するのは面倒です。
長いURLの背景には、リンクに含まれるトラッカーの数、重いサイトのロードされたコンテンツ(複数のディレクトリ)などがあります。
私たちは皆、そのためにURL短縮ツールを使って長いURLを数文字に短縮し、共有やナビゲートを容易にし、また見た目もきれいでエレガントにしています。
しかし、自分でURL短縮ツールをコーディングすることに疑問を持ったことはありませんか?この記事では、PythonでURL短縮機能をコーディングするプロセスを非常に簡単な手順で説明します。
URLを短縮する方法はたくさんありますが、そのほとんどはAPIを必要とし、bitlyやtinyurlなど1種類の短縮URLのみにこだわる必要があります。
URL短縮のためのコード
この記事では、従来の方法と比較して非常に簡単にURLを短縮することができるpythonパッケージについて学びます。
1. モジュールのインストール
まず始めに、URL短縮機能のコーディングに必要なモジュールをインストールする必要があります。
まず、pip パッケージマネージャを使用して、Python ライブラリをインストールします。
Pyshorteners は、最もよく使われる URL 短縮ツールの API をラップして利用するための Python ライブラリです。
pip install pyshorteners
|
2. インポート、入力、初期化
Pythonファイルでは、まず必要なモジュールをインポートすることから始めます。
import pyshorteners
|
この時点でユーザーから入力を受けます。
入力部分はコードの後半で行うこともできますが、そうするとコードの基本/永続的な構造を変更することになるので、URL短縮ツールのAPIごとに変更することになります。
long_url = input("Enter the URL to shorten: ") |
pyshortenerライブラリのクラスオブジェクトを初期化して、URLの短縮を開始します。
type_tiny = pyshorteners.Shortener()
|
3. URLを短縮する – Tinyurl
さて、ライブラリの初期化が終わったので、URLの短縮に取りかかりましょう。
Pythonスクリプトと同じディレクトリにない場合は、PDFの場所と一緒に名前を渡すことが要求されます。
short_url = type_tiny.tinyurl.short(long_url)
print("The Shortened URL is: " + short_url)
|
出力では、短縮されたURLが – “https://tinyurl.com/mbq3m” のような形で得られます。
このTinyURLは、URL短縮パッケージであるPyshortenerがデフォルトでTinyurl APIを使用するためです。
TinyURLのサービスを利用して短縮する最終コード
import pyshorteners
long_url = input("Enter the URL to shorten: ")
#TinyURL shortener servicetype_tiny = pyshorteners.Shortener()
short_url = type_tiny.tinyurl.short(long_url)
print("The Shortened URL is: " + short_url)
|
しかし、これを変更することができます。
このチュートリアルでさらに学んでいきましょう。
4. URLを短縮する – Bitly
Bitlyは最も人気があり、広く利用されているURL短縮サービスです。
ここでは、PyshortenerライブラリでラップされたAPIを使用して短縮URLを生成するコードを使用します。
上記のメソッドと同じように、ShortenerメソッドにAPIキーを渡す必要があります。
type_bitly = pyshorteners.Shortener(api_key='01b6c587cskek4kdfijsjce4cf27ce2')
short_url = type_bitly.bitly.short('https://www.google.com')
|
APIキーはどこから入手するのか、気になるところです。
このようなページが表示されます。
パスワードを入力して、自分のアカウントのアクセストークンを生成し、コードで使用するためにトークンをコピーしてください。

Bitly API を使って Python で URL を短縮する最終コードです。
import pyshorteners
long_url = input("Enter the URL to shorten: ")
#Bitly shortener servicetype_bitly = pyshorteners.Shortener(api_key='01b6c587cskek4kdfijsjce4cf27ce2')
short_url = type_bitly.bitly.short('https://www.google.com')
print("The Shortened URL is: " + short_url)
|
Bitlyのサービスでは、URL Expandingや短縮URLの総クリック数の取得など、より多くの機能を利用することも可能です。
expand_url = type_bitly.bitly.expand('https://bit.ly/TEST')
print (expand_url) # gives the url in expand or original form
count = type_bitly.bitly.total_clicks('https://bit.ly/TEST') #gives total no. of clicks.
|
APIキーを使用することで、リンクの詳細やパフォーマンスを、特定の短縮サービス(ウェブサイト)のダッシュボードのアカウントセクションで確認できるため、より良い方法でリンクを管理することができます。
5. 他のサービスを使って URL を短縮する
Pyshortenerのライブラリは様々な短縮サービスを包んでいます。
これらのサービスの公式ドキュメントを参照してください。
様々なサービスを利用するためのサンプルコードは以下のようなものです。
import pyshorteners
s = pyshorteners.Shortener()
#Chilp.its.chilpit.short('http://www.google.com') # gives output -> 'http://chilp.it/TEST'
s.chilpit.expand('http://chilp.it/TEST')
# Adf.lys = pyshorteners.Shortener(api_key='YOUR_KEY', user_id='USER_ID', domain='test.us', group_id=12, type='int')
s.adfly.short('http://www.google.com') # gives output -> 'http://test.us/TEST'
#Git.ios = pyshorteners.Shortener(code='12345')
s.gitio.short('https://github.com/TEST') # gives output -> 'https://git.io/12345'
s.gitio.expand('https://git.io/12345')
#and many more services are supported |
結論
このチュートリアルは以上です。