初めに
インスタグラムはスクレイビングやその他の自動機能を認めていません。こちら使用される際は自己責任でお願いします。
作ることになったわけ
私の友人にインスタグラムを本気で行っている人がいる。この友人は自営業をしており、いつも時間が足りないと嘆いていた。私がSEであるということを知った彼女から、インスタグラムのフォロワーを増やすために、フォローといいねをしていきたいが、自分でやるには時間がないし、面倒だ。これを自動化することはできないか、という相談を持ち掛けられた。
そこで彼女からヒアリングを行い、どのような人たちをフォローするか、どのような投稿にいいねをするかを決定した。
要件概要
前提
フォローといいねをする理由はフォローバックによるフォロワー増加を狙うためだ。フォローによるフォロバ率は大体20~30%だといわれる。
また、フォローバックを狙うために、最近アクティブなユーザーをフォローする。いいねする投稿は自分のアカウントに関連のあるもので、比較的新しい投稿からいいねを行う
instagramの仕様
これがとても大切になってくるのだが、instagramはスクレイビング対策が厳重になされている。以下にインスタグラムの仕様を箇条書きする。
・1時間にフォローできるのは人ほど
・1時間にいいねできるのは人ほど
・フォローされている人のプロフィールにはフォローバックすると記載されている
・フォローしている人のプロフィールにはフォロー中と記載されている
要件定義
以上のことから要件を満たすために以下の機能を実装する。
・定期的に投稿しており、自分の投稿と関連のある投稿をしている、フォロワー(以下有効フォロウィー)のフォロワーからフォローを行う。
・有効フォロウィーの最新の投稿にいいねしているユーザーをフォローする。
・設定したキーワードで検索をかけ、最新から30件いいねを行う。
・フォローして一定時間経過したユーザーのフォローを解除する。
・フォローバックがあったユーザーと、その時間をエクセルファイルに出力する。
・有効フォロウィーの管理がしやすいように、フォロワー(フォロウィー)一覧から、有効フォロウィーに追加できるようにする。
・キーワードを管理者ではなく使用ユーザーが追加できるようにする。
プロジェクト名について
プロジェクト名は依頼者の名前を用いて、「ことすたぐらむ」とする。
この記事を書いている時点で、フォロー解除機能と、解析機能以外は完成しているため、早めにQiitaにアップロードできるようにします。