TwitterでRTした画像全部ダウンロード
2018/12/31時点でうまくいっている方法
前提条件
ruby v2.3.*が動くこと
rubygemsが動くこと
grep, xargs, wgetが動くこと
Consumer API KeyとAPI Secretを自前で用意する必要がある
怪しい方法で入手することもできるらしいけど、これでちゃんと動くのかは保証できない
最近申請したTwitterアプリがあること
Sign in with Twitterが有効であること
Callback URLが必須なので自前のドメインが必要かもしれない
example.comやlocalhostでもいけるのかも…?保証できない
Read, Write, Direct MessageのPermissionであること
これは既存アプリがあればあとからでも変更可能
これを使う
code:bash
sudo gem install t
重要
なんか知らないけどいきなりぶっ壊れているので、以下の修正をする必要がある
Twitter::REST::Client::BASE_URLをTwitter::REST::Request::BASE_URLに書き換える(二箇所あった)
Ubuntuの場合
/var/lib/gems/2.3.0/gems/t-3.1.0/lib/t/cli.rb
MacOSの場合
/Library/Ruby/Gems/*/gems/t-3.1.0/lib/t/cli.rb内の
以下を実行
code:bash
t authorize
表示されるとおりにAPI keyとAPI secretを入力
PIN認証画面が開くのでその数字を入力
~/Picturesのようなフォルダに移動しておくことを推奨する
code:bash
yuisekiのところを、RT全部ダウンロードしたい自分のアカウントや他人のアカウントに変えればOK
t retweets yuiseki | grep RTをt favorites yuisekiにするとLikeしたツイート内の画像がダウンロードできる
これをcronにでも登録しておけばRTやLikeするたびに画像が保存される
過去の分も遡ってダウンロードしたい場合、
code:bash
t retweets yuiseki -n 1000 | ...
とか無茶な指定をしてもちゃんとうごいてくれた
今後の課題
1001〜2000までとかオフセット指定してダウンロードしたい
tの仕様次第
GIF、動画もダウンロードしたい
任意のアカウントの過去にツイートしたメディアを全部ダウンロードしたい