Twitter上の推しの画像を大量に自動保存する

こんにちは。
みなさんTwitterでお気に入りの画像があったら保存しますよね。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191919/964238a6-5ae3-dad2-4eef-bb4ead3cd495.png)


僕の場合、[日向坂46](https://www.hinatazaka46.com/s/official/)の**[高本彩花さん](https://www.hinatazaka46.com/s/official/artist/10)**の画像をよく保存しているのですが、

**「高速で更新されていくtweetから推しの画像だけを探して保存する」**

この作業を繰り返すのは中々の手間なので、自動で検索&保存してくれるプログラムを書きました。

以下、作成手順になります。

# 1. Twitter Developersに登録
https://developer.twitter.com/ です。
久しぶりにログインすると何かと作業が必要だったので、ついでに手順をメモしておきました。

<img width="1440" alt="スクリーンショット 2019-12-08 18.52.38.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191919/0532d9f9-edbc-513b-5deb-36287cf20439.png">

## 「Apps」から、Create an app
<img width="1440" alt="スクリーンショット 2019-12-08 18.53.19.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191919/020b716f-8079-6c4b-18fa-0b98d8d9184a.png">

## ログインしているTwitterアカウントを確認
<img width="1440" alt="スクリーンショット 2019-12-08 18.53.52.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191919/f085fe9b-b1a2-3e04-a7e3-85c362eb45d5.png">

## 目的を選択
<img width="1440" alt="スクリーンショット 2019-12-08 18.53.34.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191919/52657553-ce91-b461-f76d-a16905863962.png">

## 英字200文字以上で詳細に用途を書く
<img width="1440" alt="スクリーンショット 2019-12-08 18.54.15.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191919/21f7ccd2-07ea-cf00-73de-f6d6fdae9433.png">

不要な項目は外せるので、必要な項目だけGoogle翻訳に頼って書いていきます
<img width="1440" alt="スクリーンショット 2019-12-08 19.06.58.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191919/db149f96-2126-f028-fea4-88f74c9f5c10.png">

## Agreeして、申請！
<img width="1440" alt="スクリーンショット 2019-12-08 19.09.17（2）.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191919/3516555e-ee25-eebe-2769-fd02cc5f1ce7.png">

![スクリーンショット 2019-12-08 19.09.44（2）.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191919/0040ec5e-108b-d42e-7468-f8563153f182.png)

しばらくするとメールが届き、その後数日で承認されると思います。
もろもろのKEYが発行されるまで待ちます。

# 2. スクリプトを書く
準備が完了したら、実際にコードを書いていきます。

今回は[tweepy](https://www.tweepy.org/)というPythonライブラリを使いました。
なお、APIリファレンスや使い方は[こちら](https://kurozumi.github.io/tweepy/getting_started.html#introduction)にまとまっています。

```
api.search(q='キーワード', lang='ja', rpp=XX)
```

**これだけで特定キーワードを含むtweetを検索し、データを引っ張ってくることができます**💪🌞

今回は、以下のStepで作成します。

```
            1. twitterページを指定数取得
            2. ページ内のツイートのうち、キーワードがあるtweetのみ取得
            3. 画像URLを取得
            4. ダウンロード実行
```


# 3. 完成
作成したコードはこちらです。
https://github.com/kamihork/TwitterImgDownload


実際の挙動はこちら。
無事、大量の画像を手に入れることができました！
![TwwtImgDownload.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191919/79a0ace6-136a-da61-c28f-ec19f87fc838.gif)


# おわり
今回は特定キーワードのツイートから、画像を保存するというものでした。
Tweepyには他にも、ファボしたりリプしたりダイレクトメールしたりと色々できるようなので、機会があればこちらも触ってみたいと思います。

日向坂46は今年、[紅白に初出場が決まった](https://www.oricon.co.jp/news/2148716/full/)ことで話題になっていました。
年末も楽しみですね！


# 参考
[Python Tweepyを利用して、Twitter APIを使ったデータ収集方法を初心者向けに徹底解説してみた](https://dividable.net/python/python-twitter-api-get-followers-count/)
[Tweepy APIリファレンス](http://docs.tweepy.org/en/v3.5.0/api.html#help-methods)
[Twitter から香風智乃の画像を検索して保存する](https://qiita.com/koki-sato/items/c16c8e3445287698b3a8)
[日向坂46 高本 彩花 プロフィール](https://www.hinatazaka46.com/s/official/artist/10)