#Qiitaとrubyとtwitterネトスト初心者です!!
8行目で指定したユーザー名の画像を20枚まで一括ダウンロードするrubyプログラムです!
20枚はtwitterの仕様だからそれ以前の画像はDL不可。迂回できるかもだけど不明。
少し前に書いたコードだから、28〜36行目が何してるのか最初自分でもちゃんと読み解けなくて困った。もっと短く書けるはず。
12〜15行目と18〜24行目は、分けずに書いて一緒に処理した方がいいっぽい。
元々複数ユーザー分取得できるように作っていたけど、さっきmkdirのコード付け足した時にもっと違う書き方した方がいいと思ってやめた。
twitter_image_dl.rb
#twitter_image_dl.rb
require 'open-uri'
require 'fileutils'
require 'pp'
name = "Qiita" #適宜ここをユーザー名に書き換えて使ってくれ
target_url = "https://twitter.com/" + name + "/media"
pp target_url
ary = []
open(target_url) {|f|
f.each_line {|line| ary << line}
}
#pp ary
url = []
match = %r|https://pbs.twimg.com/media/\S*.jpg|
ary.each do |file|
if file =~ match
url << file[/https\S*.jpg/]
end
end
FileUtils.mkdir("./"+name) unless url == []
url.each do |path|
@path = path
fileName = File.basename(@path)
open("./"+name+"/"+fileName, 'wb') do |output|
open(@path) do |data|
output.write(data.read)
end
end
end