本記事では、Pythonというプログラミング言語を使って、インスタの投稿情報(いいね数、ハッシュタグなど)をExcelに一覧化する方法について紹介します。
少しわかりづらいですが、こんなイメージです。
Pythonでインスタのスクレイピングをしてみました
こんな流れです
1. ハッシュタグで検索
2. ユーザー名、キャプション、ハッシュタグ、いいね数、場所、時間、投稿URLを取得
3. Excelに書き出し(いいね順)取得する投稿数は、任意に設定可能です
これでトレンドやバズる投稿を調べられそう pic.twitter.com/fthkxRCbM7
— inasala|#AI・Python勉強記録 を発信 (@inasala_ai) January 16, 2021
上の例では、こんな感じのExcelができあがります。
これは投稿が3つだけですが、自分で好きな数を設定できます。
数百投稿でも取得できます。
想定読者
・インスタで人気の投稿を探したい。
・インスタで、トレンドやバズる投稿を分析したい。
・Pythonの勉強として、インスタのスクレイピングのやり方をみてみたい
・これからPythonを勉強してみたい
Instagram(インスタグラム)でスクレイピングするには?
スクレイピングとは、ウェブサイトから情報を抽出するコンピュータソフトウェア技術のことを言います。
これをインスタグラムでやるには、次の2つの方法があります。
・Octoparse、Scrapestormなどの外部サービスを使う ※月5,000~7,000円ほどかかります
・プログラミング言語(Pythonなど)を利用
正直、個人でInstagramをスクレイピングするのに高額を払って外部サービスを使うのはないですよね。。
でも、プログラミングでインスタグラムのスクレイピングをするのは実は割と難しいんです。
スクレイピングのプログラムを作ろうとしたら、少なくとも次のような課題にぶち当たると思います。
・ハッシュタグで検索した際に、スクロールしてもHTMLに表示される投稿数に限度がある(50ほど)
・画像or動画、いいね数等によってHTMLの構造が変わる
・キャプションやハッシュタグに絵文字が使われる
本記事では、僕がなんとか色々な課題を解決して作成したインスタのスクレイピングする方法をご紹介します。
Instagramでスクレイピングする方法は?【Pythonを利用】
ここでは、実際に僕が作成したインスタのスクレイピングの仕組みを紹介します。
これには、画面操作の自動化を使います。
最近、世の中ではRPA(ロボティック・プロセス・オートメーション)と言われているモノです。
自動化する処理の流れは、おおまかに次の通りです。
- パソコン表示のInstagramにログインする
- 任意のハッシュタグで検索する
- 最新(上から10個目以降)の投稿を選択し、投稿のURLを取得する
- 次の投稿に移動し、投稿のURLを取得する ※取得する投稿の分だけ繰り返す
- スマホ表示のInstagramにログインする
- それぞれの投稿のURLに移動し、ユーザー名、キャプション、ハッシュタグ、いいね数等を取得する
- Excelに書き出す。必要に応じて、いいね順などにソートする
この操作を自動化すれば、インスタでもスクレイピングができます。
一見、パソコン表示とスマホ表示の両方でログインして、無駄だと思われるかもしれませんが、自分の中では、課題を解決するためにはこれが最適解でした。
Instagramでスクレイピングするデータ項目(いいね数、ハッシュタグ等)
僕が作成したプログラムでスクレイピングするデータ項目は、次の通りになります。
データ | 内容 |
投稿番号 | 最新の投稿からの順番 |
ユーザー名 | 投稿した人のユーザーアカウント |
場所 | 投稿に設定された場所 |
キャプション | 投稿の内容(ハッシュタグ含む) |
ハッシュタグ | 投稿のハッシュタグ |
いいね数・再生回数 | 画像の場合:いいね数、動画の場合:再生回数 |
時間 | 投稿された時間 |
最初の画像のURL | 投稿の1枚目の画像のURL |
画像or動画 | 画像の場合:'image'、動画の場合:'video' |
投稿枚数 | 1枚の場合:'single'、複数枚の場合:'several' |
投稿URL | 投稿のURL |
これだけの項目を収集すれば、次のようないろいろなことが調べられます。
・人気の(いいね数が多い)投稿
・人気の(いいね数が多い)ユーザーアカウント
・よく使われるハッシュタグ
・人気の投稿の特徴 ※AI・機械学習を組み込むと面白いかも
・(場所の情報から)人気のお店
こんな感じで、プログラミングを学んでスクレイピングのツールを作ると、自分が欲しい機能を自由に作ることができます。
0からPythonを勉強したい方向け
おすすめのUdemy講座を紹介します。筆者もこの講座で勉強しました。
Instagramでスクレイピングする実行環境・Pythonスクリプト
それでは、実際の実行する環境とPythonスクリプトを紹介します。
次のMac及びWindows環境で正常に動作することを確認しています。
Instagramでスクレイピングする実行環境(Windows)
自分の実行環境としては、次の通りとなります。
・Windows 10 Pro バージョン1909
・Chrome バージョン 87.0.4280.88
・Python 3.7.3
・Selenium 3.141.0
・beautifulsoup 4.9.3
・Chromdriverをダウンロード済み
Instagramでスクレイピングする実行環境(Mac)
自分の実行環境としては、次の通りとなります。
・macOS-10.16-x86_64-i386-64bit
・Chrome バージョン 87.0.4280.141
・Python 3.8.5
・Selenium 3.141.0
・beautifulsoup 4.9.3
・Chromdriverをダウンロード済み
InstagramでスクレイピングするPythonスクリプト
次の2つのファイルとなります。
・insta_scrapping.py
スクレイピングの処理を記載するファイル
・insta_auto_script.py
スクレイピングに必要な機能を搭載したクラス、メソッドを記載するファイル
ファイルの中身は、次のnoteで公開しています。
【質問・返金OK】インスタの投稿内容をスクレイピングするソースコードを公開
いまだけの特典
・質問対応あり
・返金保証あり
プログラミング・Pythonを勉強している方であれば、上の処理の流れ・実行環境がわかれば、自分でも十分に書けると思います!!
ぜひ練習がてら作ってみてください。
すぐに動作するものを作りたい!!という方はnoteの方を参考にしてみてください。
(2021年4月4日追記)
Pythonでインスタのスクレイピングを活用して運用してみた結果
本記事で紹介したスクレイピングで収集した情報をもとに、実際にインスタを約3ヶ月運用してみました。
※スクレイピングと併せて、自動投稿、自動リポスト、自動いいね・コメントも活用しています。
参考【アプリ不要】インスタで自動投稿する方法を公開 -Pythonを利用-
参考【アプリ不要】インスタで自動リポストするやり方を公開 -Pythonを利用-
参考【実証あり】インスタの自動いいねでフォロワーを増やす方法【Python/Selenium】
参考【実証あり】インスタの自動コメントでフォロワーを増やす方法【Python/Selenium】
その結果、アカウント新設から約3ヶ月で、1,000人の方からフォローいただきました。(フォロバなし)
すべての投稿は、本記事のスクレイピングした情報をもとに、自動投稿・リポストのプログラムを利用していました。
【インスタ報告】
インスタの自動運用を始めて3ヶ月ちょっとフォロワー1000人までいきました!!
夕食の食器洗いの時に自動処理まわして、その後10分ほど手作業。これを毎日3ヶ月続ける
といった感じです。
これからも気長にコツコツ伸ばしていきます!! pic.twitter.com/vk3C1K8mbL
— いなサラ|田舎の情シスサラリーマン・パパブロガー (@inasala_com) April 4, 2021
インスタの自動運用で企業タイアップ垢もできるかもしれませんね!!
以上となります。
最後まで読んでいただき、ありがとうございました。
インスタ自動いいねをやってみたい方
インスタ自動投稿をやってみたい方
インスタ自動リポストをやってみたい方
インスタ自動コメントをやってみたい方
0からPythonを勉強したい方向け
おすすめのUdemy講座を紹介します。筆者もこの講座で勉強しました。