見出し画像

インスタ自動いいね&フォローを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のページを開き、ログイン

画像7

お知らせ通知などを「後で」に設定

画像6

タグ検索し、自動いいね!&フォロー

自動実行中にページ読み込みエラーが発生した場合は

画像2

「読み込めないのでスキップします。」と表示してスキップ

画像1

いいね!済みの場合は「既に「いいね!」をしています。」と表示しスキップ

画像3

フォロー済みの場合は「既に「フォロー」をしています。」と表示しスキップ

画像5

いいね!&フォロー後はランダム時間待機し、設定回数までループ

画像4

ループが終ると

いいね!&フォロー数の合計

を表示し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になる性質(下図の数式)を利用して、指定時間内からランダム時間に分割するプログラムを記述します。

ここから先は

15,471字 / 9画像

¥ 690

期間限定 PayPay支払いすると抽選でお得に!

この記事が気に入ったらサポートをしてみませんか?