Twitpicのフルサイズ画像の取得方法[Ruby][Web API]

TwitpicはTwitterの中でもっとも使われている写真サービスのひとつですよね。公式のドキュメントには載っていない、Twitpicのフルサイズ画像を取得する方法を今日偶然発見したのでメモで残しておきます。


🎳 フルサイズ画像の取得API

ベースとなるURLとサムネイル画像のURL、フルサイズ画像のURLの関係は次のようになります。

ベースとなるURL    => http://twitpic.com/bhn7wu
サムネイル画像のURL => http://twitpic.com/show/thumb/bhn7wu
フルサイズ画像のURL => http://twitpic.com/show/full/bhn7wu

From twitpicからフルサイズの画像を取得する方法 | 人工無脳が作りたい

公式のAPIドキュメントには載っていないので、完全にご利用は自己責任でお願いしますw

🐰 サンプルソース

ゆーすけべーさんの日本でもっとも有名なテック記事のひとつである「いかにしておっぱい画像をダウンロードするか〜2012」を参考にしつつ、Rubyで画像をダウンロードするスクリプトを作ってみました。

require 'open-uri'
require 'pathname'
require 'digest/md5'
url = "http://twitpic.com/bhn7wu"
dir = Pathname.new './data'
twitpic_id = $1.to_s if url =~ /([a-z0-9\_]{6,7})[.jpg]{0.4}$/i
image_url = "http://twitpic.com/show/full/" + twitpic_id + ".jpg"
filename = Digest::MD5.hexdigest(image_url) + '.jpg'
filepath = dir + filename
res = open(image_url)
if res.content_type =~ /^image/
FileUtils.mkdir_p(dir) unless FileTest.exist?(dir)
open(filepath, 'w').print res.read
end

😀 Special Thanks

説明は以上です。いかがだったでしょうか?

もし、説明がわかりにくかったり、間違っている場所があればぜひ一言。

📚 おすすめの書籍

💩 欲しいものリスト公開しました