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 service type_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 service type_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.it s.chilpit.short( 'http://www.google.com' ) # gives output -> 'http://chilp.it/TEST'
s.chilpit.expand( 'http://chilp.it/TEST' )
# Adf.ly s = 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.io s = 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 |
結論
このチュートリアルは以上です。