データ取得の流れ
データの取得の流れは以下のようになります。
- ツイート
- ツイートに mention が含まれていればその一覧(配列)
- 配列に入っている mentions から個々の mention を取り出す
- 個々の mention の mention先 のユーザ情報を取得しつつ、RDB に格納する
前提
- 個々の mention に含まれる情報は以下のとおり
- mention先のユーザ名
- mention先のスクリーンネーム
- mention先のユーザID
- そのmentionの記述がツイートのどこの場所(何文字目から何文字目)に存在するか
- mention先のユーザの情報*1も根こそぎ取る
- mentionが格納されるテーブルにはユーザが格納されるテーブルへの外部キーを作る
気をつけること
- ユーザとmentionは1対多の関係にあるため、まずユーザの情報を格納しておかないと外部キーで結び付けられない
- ツイートを元にmentionの情報を取得し、そのmentionの情報をもとにユーザの情報を取得することになるが、ここで直感的なループを行うと Rate limits にすぐに達してしまうため、ユーザ情報はバルクで取得するように工夫する
- ↑が一番言いたかったことです
*1:サムネイル画像やFav数など