Python × インスタ

Instagramで投稿(いいね数、タグ等)をスクレイピングする方法【Python】

2021-01-17

insta-scrapping

 

インスタで人気の投稿を集めたいな〜 いいね数が多い投稿とか
Pythonを使えば、いいね数やハッシュタグとかの投稿情報を集めて一覧化できるよ!!

 

本記事では、Pythonというプログラミング言語を使って、インスタの投稿情報(いいね数、ハッシュタグなど)をExcelに一覧化する方法について紹介します。

 

少しわかりづらいですが、こんなイメージです。

上の例では、こんな感じのExcelができあがります。

これは投稿が3つだけですが、自分で好きな数を設定できます。

数百投稿でも取得できます。

スクレイピング画像

 

想定読者

・インスタで人気の投稿を探したい。

・インスタで、トレンドやバズる投稿を分析したい。

・Pythonの勉強として、インスタのスクレイピングのやり方をみてみたい

・これからPythonを勉強してみたい

 

Instagram(インスタグラム)でスクレイピングするには?

instagram

 

スクレイピングとは、ウェブサイトから情報を抽出するコンピュータソフトウェア技術のことを言います。

これをインスタグラムでやるには、次の2つの方法があります。

 

・Octoparse、Scrapestormなどの外部サービスを使う ※月5,000~7,000円ほどかかります

プログラミング言語(Pythonなど)を利用

 

正直、個人でInstagramをスクレイピングするのに高額を払って外部サービスを使うのはないですよね。。

 

でも、プログラミングでインスタグラムのスクレイピングをするのは実は割と難しいんです。

 

スクレイピングのプログラムを作ろうとしたら、少なくとも次のような課題にぶち当たると思います。

・ハッシュタグで検索した際に、スクロールしてもHTMLに表示される投稿数に限度がある(50ほど)

・画像or動画、いいね数等によってHTMLの構造が変わる

・キャプションやハッシュタグに絵文字が使われる

 

本記事では、僕がなんとか色々な課題を解決して作成したインスタのスクレイピングする方法をご紹介します。

 

Instagramでスクレイピングする方法は?【Pythonを利用】

python-consult_1

 

ここでは、実際に僕が作成したインスタのスクレイピングの仕組みを紹介します。

 

これには、画面操作の自動化を使います。

最近、世の中ではRPA(ロボティック・プロセス・オートメーション)と言われているモノです。

 

自動化する処理の流れは、おおまかに次の通りです。

  1. パソコン表示のInstagramにログインする
  2. 任意のハッシュタグで検索する
  3. 最新(上から10個目以降)の投稿を選択し、投稿のURLを取得する
  4. 次の投稿に移動し、投稿のURLを取得する ※取得する投稿の分だけ繰り返す
  5. スマホ表示のInstagramにログインする
  6. それぞれの投稿のURLに移動し、ユーザー名、キャプション、ハッシュタグ、いいね数等を取得する
  7. Excelに書き出す。必要に応じて、いいね順などにソートする

 

この操作を自動化すれば、インスタでもスクレイピングができます。

 

一見、パソコン表示とスマホ表示の両方でログインして、無駄だと思われるかもしれませんが、自分の中では、課題を解決するためにはこれが最適解でした。

 

Instagramでスクレイピングするデータ項目(いいね数、ハッシュタグ等)

僕が作成したプログラムでスクレイピングするデータ項目は、次の通りになります。

データ 内容
投稿番号 最新の投稿からの順番
ユーザー名 投稿した人のユーザーアカウント
場所 投稿に設定された場所
キャプション 投稿の内容(ハッシュタグ含む)
ハッシュタグ 投稿のハッシュタグ
いいね数・再生回数 画像の場合:いいね数、動画の場合:再生回数
時間 投稿された時間
最初の画像のURL 投稿の1枚目の画像のURL
画像or動画 画像の場合:'image'、動画の場合:'video'
投稿枚数 1枚の場合:'single'、複数枚の場合:'several'
投稿URL 投稿のURL

 

これだけの項目を収集すれば、次のようないろいろなことが調べられます。

・人気の(いいね数が多い)投稿

・人気の(いいね数が多い)ユーザーアカウント

・よく使われるハッシュタグ

・人気の投稿の特徴 ※AI・機械学習を組み込むと面白いかも

・(場所の情報から)人気のお店

 

こんな感じで、プログラミングを学んでスクレイピングのツールを作ると、自分が欲しい機能を自由に作ることができます。

 

 

0からPythonを勉強したい方向け

おすすめのUdemy講座を紹介します。筆者もこの講座で勉強しました。

米国データサイエンティストがやさしく教えるデータサイエンスのためのPython講座

 

 

 

Instagramでスクレイピングする実行環境・Pythonスクリプト

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年1月27日追記)

Pythonでインスタのスクレイピングを活用して運用してみた結果

本記事で紹介したスクレイピングで収集した情報をもとに、実際にインスタを40日運用してみました。

※スクレイピングと併せて、自動投稿、自動リポスト、自動いいね・コメントも活用しています。

 

参考【アプリ不要】インスタで自動投稿する方法を公開 -Pythonを利用-

参考【アプリ不要】インスタで自動リポストするやり方を公開 -Pythonを利用-

参考【実証あり】インスタの自動いいねでフォロワーを増やす方法【Python/Selenium】

参考【実証あり】インスタの自動コメントでフォロワーを増やす方法【Python/Selenium】

 

その結果、アカウント新設から40日で、300人の方からフォローいただきました。(フォロバなし)

 

すべての投稿は、本記事のスクレイピングした情報をもとに、自動投稿・リポストのプログラムを利用していました。

インスタの自動運用で企業タイアップ垢もできるかもしれませんね!!

 

以上となります。

最後まで読んでいただき、ありがとうございました。

 

インスタ自動いいねをやってみたい方

 

インスタ自動投稿をやってみたい方

 

インスタ自動リポストをやってみたい方

 

インスタ自動コメントをやってみたい方

 

0からPythonを勉強したい方向け

おすすめのUdemy講座を紹介します。筆者もこの講座で勉強しました。

米国データサイエンティストがやさしく教えるデータサイエンスのためのPython講座

 

 

 

 

よく読まれている記事

insta-auto-post 1

  インスタって自動で投稿できないのかな。いつもスマホで投稿するの大変だし・・ Pythonを使えば、インスタで自動で投稿できるよ!!特別に紹介するね ...

python-consult_1 2

  AI・機械学習、データサイエンティスト、、やっぱりこれからの時代Pythonは勉強すべきだよね!   その通り。Pythonは今後も伸び ...

【保存版】PythonでできるExcel操作のまとめ一覧 3

  Excelで作業するのって大変だな〜 なにか楽な方法ないかな〜   Excelの集計や単純作業は、Pythonで楽にできるよ!!この一覧 ...

python-works 4

ここでは、サイト管理者のいなサラがこれまでPythonで作ったものをご紹介します。 以下のリンクで、実際の作り方やソースコードを公開しているので、ぜひ参考にして ...

-Python × インスタ

© 2021 inasala note