Python-2.5を使ってgoo.glの短縮URLを得る
2010年10月18日
Pythonを使ってgoo.glの短縮URLを得る
http://coreblog.org/ats/pythonic-way-of-obtaining-shorten-url-by-using-goo_gl
http://coreblog.org/ats/pythonic-way-of-obtaining-shorten-url-by-using-goo_gl
・・・が、Python-2.5だと 201 Created を HTTPError にしてしまう問題で
動かすまでに少々手間取ったので、その対応版です。
Python-2.5用コード
def shorten(url):
from re import match
from urllib2 import urlopen, Request, HTTPError
from urllib import quote
from simplejson import loads
req=Request('http://goo.gl/api/url',
'url=%s'%quote(url), {'User-Agent':'toolbar'})
try:
# -- 変更:ここから --
r=urlopen(req)
source=r.read()
except HTTPError, e:
if e.code != 201:
raise Exception('Unknown eror forming short URL.')
source=e.read()
j = loads(source)
# -- 変更:ここまで --
return j['short_url']
if __name__ == '__main__':
from sys import argv
print shorten(argv[1])
まだ、古いPythonは世間に多いと思ふ。