LoginSignup
2
4

More than 1 year has passed since last update.

【Python】Seleniumを使わずにInstagramのフォロワーを全件取得する

Last updated at Posted at 2022-05-17

初めに

 Instagramのフォロワーを全件取得する際、いくつか候補があります。例えば別のサイトではSeleniumを使用しています。

 Instagramのフォロワーの表示はフレキシブルになっているため、画面上では一度で取得できず、スクロールする必要があるため、時間がかかってしまいます。

Instaloaderとは

 こちらを解決するのが、InstaloaderというPythonライブラリです。以前の記事でも記載しましたが、Instagramで行いたいと思うことはこのライブラリを用いればGUIを使うことなく、すべて行うことができます。

ソースコード

 全件取得のソースコードは以下になります。順に解説していきます。

import instaloader

    #インスタグラムにログイン
    loader = instaloader.Instaloader()
    loader.login(INSTAGRAM_ID, INSTAGRAM_PASSWORD)

    #指定したIDのprofileオブジェクトを作成
    profile = instaloader.Profile.from_username(loader.context, id)#id:フォロワーを取得したいアカウントのユーザーID

    #指定したIDのフォロワーを全件取得
    followers = profile.get_followers()

    #ユーザーIDを出力する
    for follower in followers:
        print(follower.username)

 まずはinstaloaderをインポートします。

import instaloader

instaloaderのインストール方法はpip3を使用するだけです。

pip3 install instaloader

 以下の公式サイトも参照してください。

 次にinstaloaderでInstagramにログインします。

    #インスタグラムにログイン
    loader = instaloader.Instaloader()
    loader.login(INSTAGRAM_ID, INSTAGRAM_PASSWORD)

 Instagramでフォロワー一覧を見たり、投稿を保存したりするためにはログインが必要になります。それと同じで、instaloaderでも任意のアカウントのフォロワーを取得するためにはログインが必要になります。
 instaloaderのMainClassであるInstaloaderのlogin関数を使います。
 引数はユーザーIDとパスワードです。
 一行にまとめることもできます。

    #インスタグラムにログイン
    instaloader.Instaloader.login(INSTAGRAM_ID, INSTAGRAM_PASSWORD)

 次にフォロワーを取得したいアカウントのProfileオブジェクトを作成します。

    #指定したIDのprofileオブジェクトを作成
    profile = instaloader.Profile.from_username(loader.context, id)#id:フォロワーを取得したいアカウントのユーザーID

 Profileオブジェクトは任意のアカウントに対して作成することができ、関数を使用することで、そのアカウントの投稿や、画像、フォロワーなどすべての情報を取得することができます。Postオブジェクトと並んで、非常に使い勝手の良いclassです。

 最後にPorileオブジェクトで指定したユーザーのフォロワーを取得します。

    #指定したIDのフォロワーを全件取得
    followers = profile.get_followers()

 取得するアカウントに鍵がかかっている場合には注意が必要です。

終わりに

 使用方法が分かれば、公式サイトで関数を見ることで、本当にすべての情報を簡単に取得することができます。
 参考にしたサイトと公式サイトのリンクを張っておきます。
 ご指摘、ご質問がございましたら、ぜひコメントよろしくお願いします。

2
4
3

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
2
4