Twitter APIから帰ってくるexpanded_urlはまったくもって当てにならないので,自力で展開する.
やること自体は非常に簡単で,単にurllib2を使うだけである.
expand_url.py
import urllib2
short_url = 'http://t.co/MmQomeme8u'
expand_url = urllib2.urlopen(short_url).geturl()
print expand_url
# python expand_url.py
http://www.huffingtonpost.jp/tabirai-okinawa/-_285_b_6483010.html?ncid=tweetlnkjphpmg00000001
ただ,この方法も万能ではない.JavaScriptを用いたリダイレクトには対応していないっぽい.
urllib2 geturl() does not work for some url redirects
http://stackoverflow.com/questions/14319771/urllib2-geturl-does-not-work-for-some-url-redirects