結論
たとえば、API で取得できる media_url_https
が https://pbs.twimg.com/media/FAlJ_JsUUAAgOSq.jpg
であったとします。この URL に wget
をしても原寸大画像は得られません*1。
常に原寸大画像を取得するためには https://pbs.twimg.com/media/FAlJ_JsUUAAgOSq?format=jpg&name=orig
のようにします。つまり media_url_https
に対して以下の処理を施します。
- 拡張子を取り除く(ドットを含む)
- パラメータとして以下の2つを付与する
format=拡張子(ドット不要)
- たとえば
format=jpg
- たとえば
name=orig
例
Ruby でこの処理を行うスクリプト例は以下のとおりです。
url = 'https://pbs.twimg.com/media/FAlJ_JsUUAAgOSq.jpg' extension_including_dot = File.extname(url) extension_without_dot = extension_including_dot[1..] url_without_extension = url.gsub(extension_including_dot, '') "#{url_without_extension}?format=#{extension_without_dot}&name=orig" #=> "https://pbs.twimg.com/media/FAlJ_JsUUAAgOSq?format=jpg&name=orig"
*1:ただし、元画像のサイズが一定以下ならば原寸大画像となる