LoginSignup
0
3

More than 5 years have passed since last update.

twitterで画像を一括ダウンロードするrubyプログラム

Posted at

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
0
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3