前置き
Instagramでスクレイピングしようとしていませんか?
スクレイピングしようとしている方は、一度立ち止まってください!
スクレイピングは利用規約により禁止されています。絶対にやめてください。
そんなリスキーなことをするよりも簡単に情報収集できる方法があるので、紹介していきますね。
インスタのスクレイピング対策はTOPレベル
ユーザーページへのアクセスで、数十回ユーザーページにアクセスしただけで本人確認画面に飛ばされるそうで、プロキシでアクセスしたりUA変更や人間らしい動きなどの対策をしても弾かれるようです。
ライブラリ:Instaloader
海外の掲示板を周回していると面白いライブラリを見つけました。『Instaloader』という名前のライブラリでユーザーIDさえあればその人のプロフィールや投稿数、フォロワー、フォロー中の取得が数行で行えました。コンソール(cmd)で、
cmd
pip install instaloader
と入力すればインストールできます。
できること
・特定のハッシュタグが付いた投稿の情報取得
・ストーリーや投稿画像のダウンロード
・投稿のいいね数
・プロフィール文やプロフィール画像、フォロワー数など取得
etc..
プログラミング例
例を記載しておきますね👇
example.py
from instaloader import Instaloader, Profile
L = Instaloader() # インスタンス化
id = 'watanabenaomi703' # 渡辺直美さんのアカウントIDを入力しました
profile = Profile.from_username(L.context, id) # プロファイル取得
UserName = profile.full_name # ユーザー名取得
posts = profile.mediacount # 投稿数取得
Follower = profile.followers # フォロワー数取得
Follow = profile.followees # フォロー中数取得
print(f'ユーザー名:{UserName}\n投稿数:{posts}\nフォロワー数:{Follower}\nフォロー中数:{Follow}')
出力結果 2022/01/07時点
ユーザー名: 渡辺直美 Naomi watanabe
投稿数:1055
フォロワー数:9,605,708
フォロー中数:752
まとめ
このライブラリを使用することで、大量の件数を問題なく取得できました。
使用する際にはライブラリのリファレンスを一読してくださいね。