インスタ自動いいね&フォローをPythonで自動化するプログラム
「takuのアトリエ」というブログでAdobeソフトの使い方、Pythonプログラムなど学びをアウトプットしている、takuです。
インスタ自動いいね&フォローを「Python」を使って運用できたので、Pythonの学習教材としてこのnoteを作りました。
運用方法は「selenium」、「chromedriver」を使用したスクレイピングで、GitHubなどからBOTをダウンロードする必要はありません。
もちろんAPIも使用しないので、InstagramのAPI登録は不要です。
ただしPythonのインストール、コードの記述方法等(プログラミングに関する基礎知識を含む)は既に知っているものとして進めますので、ご理解いただけますと幸いです。
✅ このnoteのカリキュラム
当noteでは、次の8つを「Python」で運用するためのプログラムを紹介します。
・いいね!&フォロー回数と稼働日時 or 時間 or 分の設定
・ディリクレ分布に従ったランダム時間の待機機能
・インスタへ自動ログイン&ログインエラー対策機能
・ログイン情報の保存、お知らせのキャンセル
・タグ検索
・読み込みエラー時のスキップ機能
・自動いいね!&いいね!済み時のスキップ機能
・自動フォロー&フォロー済み時のスキップ機能
※Pythonでの実行順です。
このプログラムを使用するとインスタで自動いいね&フォローができますが、本質は「Pythonプログラムの理解&実装」です。
特に
・指定時間内で指定回数分のランダム時間を作成&待機
・各種エラー対策機能(ログイン時、読み込みエラー時)
・いいね!、フォロー済みスキップ機能
はプログラムを長時間動作させるのに必須なので力を入れました。
もちろん「プログラム全体のコード」も記載してあります。
従いまして、当noteでは上記の関数を作る上での説明、考え方をメインに記載しますので学習に役立ててください。
✅ Pythonプログラム実行時の流れ
ChromedriverからInstagramのページを開き、ログイン
お知らせ通知などを「後で」に設定
タグ検索し、自動いいね!&フォロー
自動実行中にページ読み込みエラーが発生した場合は
「読み込めないのでスキップします。」と表示してスキップ
いいね!済みの場合は「既に「いいね!」をしています。」と表示しスキップ
フォロー済みの場合は「既に「フォロー」をしています。」と表示しスキップ
いいね!&フォロー後はランダム時間待機し、設定回数までループ
ループが終ると
いいね!&フォロー数の合計
を表示しChromeを閉じてプログラムが終了します。
✅ 利用規約
当noteを購入された時点で、下記5つの利用規約に同意したものとさせていただきます。
また利用規約の内容は変更される場合があり、変更された場合は最新のものが適用されます。
・当プログラムを利用することで発生したトラブル・損失・損害に対して執筆者takuは一切の責任を負いません。
・当プログラムの著作権は執筆者takuに属するものとします。
・当プログラムの再配布、無断転載、譲渡、販売は改変の有無を問わず禁止します。また、非営利・営利目的に関わらず許可なく二次配布することを禁止します。
・当プログラムデータを改変し使用して頂くのは自由ですが、著作権を侵害する行為は禁止します。
・当プログラムを用いて、行き過ぎた公序良俗に反する行為や目的、政治、宗教活動、他社に対する誹謗中傷目的での利用を禁止します。(Pythonの学習をメインとします。)
✅ 更新履歴&内容
2020/11/28:「ChromeDriver only supports Chrome version ※※の対処方法とseleniumとの組み合わせ」を解説した私のブログURLを追記いたしました。
動作環境と必要なpip install
使用した動作環境は
・Windows10
・Python 3.7.5
・Google Chrome
となります。
Pythonのバージョンが3系なら余程問題なく動作すると思います。
mac、Ubuntu等の異なるOSで動作させたい場合は、各自行ってください。
Ubuntu(ラズパイなど)で動作させる場合、ChromedriverはUbuntuに対応するバージョンをインストールする必要があります。
また、必要なpip installは下記の通りです。
pip install selenium
pip install chromedriver-binary==85.0.4183.87.0
pip install urllib3
コマンドラインなどでインストールしましょう。
検索エンジンはGoogleChromeを使用し、Chromedriver-binaryのバージョンについては
✅ Pythonスクレイピングを使ってGoogleChromeを操作をしてみる
でも紹介しているので、こちらも合わせてご覧ください。
また
This version of ChromeDriver only supports Chrome version ※※
というchromedriverのバージョンエラー専用の解説ページも
✅ ChromeDriver only supports Chrome version ※※の対処方法とseleniumとの組み合わせ
私自身のブログで公開していますので、エラーが出て動かない場合はご参照ください。
ディリクレ分布に従った時間待機の関数
まずディリクレ分布とは確率分布のひとつになります。
詳しく解説すると長くなるので割愛しますが、なぜこの分布を使ってランダム時間待機をさせるかというと
・アカウント凍結対策としてランダム時間待機させたい
・指定時間からランダムに時間を分割させたい
・なるべく簡単なコードで実装したい
からです。
したがって、ディリクレ分布の平均値(期待値)と、その和が1になる性質(下図の数式)を利用して、指定時間内からランダム時間に分割するプログラムを記述します。
ここから先は
¥ 690
この記事が気に入ったらサポートをしてみませんか?