見出し画像

【selenium】インスタグラムで自動フォローするPythonソースコードを公開!コピペで完結できます

*こちらのコードはselenium「ブラウザの自動化」を使用しますのでこのスクリプトの使用による問題は自己責任でお願いします。

エラーが発生して「は?」となった場合でも、月に一度エラーを解消する有料会員をコーヒー一杯ほどの値段で参加も可能です。

インスタグラムのフォロー自動化

まずは動画にて挙動の確認が可能です。

ざっくりいうと「インスタグラムをパソコンから自動でフォローする」ためのコードです。

コピペで動きます。

実際にこちらのコードで設定可能な項目は以下の通り

  1. アカウント情報

  2. 待機時間(次のフォローまで、エラー回避のための待機)

  3. 一度に取得するフォロワーの人数

  4. 人気記事からのフォロー 、新着記事からのフォロー

実際のコード

動作テスト環境
Windows10 

selenium の環境パスを入力するのが不要なため chromedriver_binaryを採用しています。

pip chromedriver_binary でインストール可能。

その他必要な import は総合環境「anaconda, spyder」等を導入済みであれば導入済みであるはずです。


# -*- coding: utf-8 -*-
"""
Created on Wed Aug 17 17:24:52 2022

@author: User
"""

from selenium import webdriver 
from selenium.webdriver.chrome.options import Options
from selenium.common.exceptions import WebDriverException
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

import chromedriver_binary
from time import sleep
from datetime import datetime
import urllib.parse


class InstagramAutomation():

    def __init__(self):
        
        # アカウント情報 ↓
        
        self.User_name = '@gmail.com'
        self.Password = '1234'
        
        # フォロワー数の設定↓
        self.Follow_account_max_num = 5
        
        # 設定時間
        self.time_wait = 5
        
        # 次のフォロワーをフォローするまで待機 - 120秒待機 - 120
        self.time_wait_next_follow = 120
        
        # 人気記事を飛ばす場合は9を入力
        self.pass_popular_post = 6
        
        # タグ設定 - 焼肉など
        self.hash_tag = '焼肉' 
        
        self.chrome_options = Options()
        self.driver = webdriver.Chrome(options=self.chrome_options) 
        
    def __del__(self):
        
        self.driver.close()
        self.driver.quit()
        
    def login(self):
            
        # ログインを開始します
        self.driver.get('https://www.instagram.com/')
        
        print('\n{} - [INFO] インスタグラムにログインします。'
              .format(datetime.now().strftime("%Y-%m-%d %H:%M:%S")))
        
        try:
            # 環境対策 - ログイン要素読み込みまで待機
            WebDriverWait(self.driver, 15).until(EC.presence_of_all_elements_located)
            sleep(self.time_wait)
            #メアドと、パスワードを入力
            self.driver.find_element_by_name('username').send_keys(self.User_name)
            sleep(self.time_wait)
            self.driver.find_element_by_name('password').send_keys(self.Password)
            sleep(self.time_wait)
            
            #ログイン
            self.driver.find_element_by_css_selector('button.sqdOP.L3NKy.y3zKF').click()
        except Exception as e:
            print(e)
            print('\n{} - [ERORR] ログインに失敗しました。'
                  .format(datetime.now().strftime("%Y-%m-%d %H:%M:%S")))
            pass
   

ログインまでのコードになります。
後ほどフォロー機能以外も追加予定のためクラスで実装しています。

ここから先は

9,031字

¥ 700

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