見出し画像

【改修中】【質問・返金OK】インスタで自動リポストするソースコードを公開

インスタグラムの仕様変更に伴い、本noteのソースコードは現在、改修中です。本noteのご購入はお控えください。


更新履歴
 2022/3/25:インスタの仕様変更に対応してソースコードを一部修正
 2022/6/21:インスタの仕様変更に対応してソースコードを一部修正

Pythonでインスタで自動リポストする方法

本ノートでは、次の記事で紹介している「【アプリ不要】インスタで自動リポストするやり方を公開 -Pythonを利用-」において、実際のコードの部分を掲載します。

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

まずは、この記事で読んでいただき、もしコードも見てみたいという方は、本ノートを購入いただけたらと思います。

実際の動作イメージは次の通りになります。

実際はこんな感じのポストになります。

リポスト元のユーザーにメンションし、ハッシュタグもリポストされています。

リポスト画像


インスタを自動リポストで運用してみた結果(2021年4月4日時点)


インスタを自動投稿・リポストなどでプログラミングの力を利用して運用してみました。

その結果、アカウント新設から約3ヶ月で、1,000人の方からフォローいただきました。(フォロバなし)

すべての投稿は、本記事の自動投稿/リポストのプログラムを利用していました。

Pythonでインスタで自動リポストするソースコード・仕様

自動リポストするためのファイルは次の2つとなります。
※本ソースコードは、Windowsパソコン用のものになります

・insta_auto_repost.py
  自動リポストの処理を記載するファイル

・insta_auto_script.py
  自動リポストに必要な機能を搭載したクラス、メソッドを記載するファイル

※上の2つのファイルは同一フォルダに格納ください。


仕様としては、次の通りとなります。
・リポストする投稿が複数画像の場合、最初の画像のみをリポストする。
・本noteのソースコードでは、リポストする投稿は、画像のみ対応(動画の投稿はリポストできない)


僕の実行環境は、次の通りです。

python環境

・Windows 10 Pro バージョン1909

・Chrome バージョン 87.0.4280.88

・Python 3.7.3

・Selenium 3.141.0

・pywinauto 0.6.8

・beautifulsoup 4.9.3

・Chromdriverをダウンロード済み


購入者特典:質問対応・返金保証あり

購入された方は、上のファイルについての質問も受け付けます。

もし分からないことがあれば、ブログの問い合わせページまでご連絡ください。僕がわかる範囲になりますが、お答えいたします。

また、本noteは返金保証ありです。コードがうまく動かない等あってもご安心ください。

ただし、noteのルール上、返金申請は、購入から24時間以内になりますので、ご注意ください。本noteを購入後、24時間以内にお試しいただくことを奨励します。


以下では、「insta_auto_script.py」のコードの一部を記載しています。


from selenium import webdriver
from selenium.common.exceptions import WebDriverException
from selenium.webdriver.common.action_chains import ActionChains
import datetime
import time
import pywinauto
import os #フォルダを作成
import wget #画像を保存
import bs4


def now_time():
   '''
   現在の時間を表示する関数
   '''
   dt_now = datetime.datetime.now()
   return dt_now.strftime('%m/%d %H:%M')+' '

class Instagram():
   '''
   インスタグラムの自動処理をするクラス
   次の機能がある
   
   <共通機能>
   ・ログイン:login
   ・処理を終了:quit
   

   <投稿の各種情報を保存>
   ・ユーザー名を取得
   
   <投稿する>
   ・マイページへ移動する:to_my_page
   ・投稿する:post_pic

   '''
   def __init__(self, username, password):
       mobile_emulation = { "deviceName": "Galaxy S5" }
       options = webdriver.ChromeOptions()
       options.add_experimental_option("mobileEmulation", mobile_emulation)

      #文字列リテラル中の\はエスケープに使われる。
      #chromedriver.exeの格納先を指定する
      #例 r"C:\Users\username\Python\chromedriver.exe"
      self.driver = webdriver.Chrome(executable_path = r"{chromedriver.exeの格納先を指定}",
                               options=options)
      self.username = username
      self.password = password     

   def login(self):
       '''
       インスタグラムにアクセスして、ログインする関数
       引数、戻り値なし
       '''
       self.driver.get('https://www.instagram.com/accounts/login/?source=auth_switcher')
       print(now_time()+'instagramにアクセスしました')
       time.sleep(1)
      
       #メアドと、パスワードを入力
       self.driver.find_element_by_name('username').send_keys(self.username)
       time.sleep(1)
       self.driver.find_element_by_name('password').send_keys(self.password)
       time.sleep(1)

       #ログインボタンを押す
       self.driver.find_elements_by_xpath('//button[@type="submit"]')[0].click()
       time.sleep(3)
       print(now_time()+'instagramにログインしました')

       time.sleep(1)


続きは、以下の通りになります。



ここから先は

10,577字 / 1画像

¥ 1,980

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

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