PythonでTinyURLを作成するスクリプト

長いURLを短くしてくれるWebサービスTinyURL」を、Pythonから使うスクリプトを書いてみました。

ちなみに「TinyURL」はこちらです。

screenshot

そもそも、「TinyURL」には便利なAPIのようなものがあったので、それを使うと簡単に短いURLを生成することができました。

こちらのURLに、続けて自分が変換したいURLをくっつけてやれば、短くなったURLを簡単に手に入れることができるようです。

  • http://tinyurl.com/api-create.php?url=

そして、肝心のスクリプトはこちら。

#!/usr/bin/env python
# coding: utf-8

import sys
import urllib2

class TinyURL:
    def get_tiny_url(self, url):
        api_url = "http://tinyurl.com/api-create.php?url="
        tiny_url = ''
        try:
            tiny_url = urllib2.urlopen(api_url + url).read()
        except urllib2.HTTPError, e:
            sys.stderr.write('%s: %s\n' % (e, url))
        except urllib2.URLError, e:
            sys.stderr.write('%s: %s\n' % (e, url))
        except:
            sys.stderr.write('Unexpected error: %s\n' % (sys.exc_info()[1]))
        return tiny_url

if __name__ == '__main__':
    turl = TinyURL()
    tiny_url = turl.get_tiny_url('http://www.google.co.jp/')
    print tiny_url

例えば、twitterbotを作成してたときに、リンクだけ手作業で「TinyURL化」するのは大変ですよね。

リンクの作成も自動で「TinyURL化」できるので、そんなときにでも役に立ちそうですよね。