見出し画像

【Python】ログイン 自動化【Instagram】

はじめに
初めまして。ごくごく普通なサラリーマン生活を送っているSTNです。
適当に読んでいたネット記事にて
インスタグラムの自動化ツール」があることを知り
さらにそれが月額数千円〜ってことに驚きました。
本当に需要あるのか?インフルエンサーも使ってる?とか思いながらも
自粛期間で時間もあるし作って見るか〜と思ったのが始まりです。
ちなみに学生ぶりのプログラミングです笑
記録程度に残していこうと思います。
※Instagramでは自動化によるアカウント締結等あるようなので
  あくまでも自己責任、Pythonの使い方を知るという位置付けです。

環境

・Mac
・Python 3
・ライブラリ
    -Selenium
    -その他 必要に応じて

機能

Seleniumを使って自動化に挑戦していきます。
機能として考えられるのは
・いいね
・コメント
・フォロー
・アンフォロー
などありますが
まずはアカウントへのログインが必要です。
今回はログインまでを目標にします。

ログインまでのながれ

ログインまでの流れは以下です。

1.ブラウザを開く
2.Instagramへアクセス
3.ユーザネーム入力
4.パスワード入力
5.ログインボタンクリック

まずはライブラリをインポートします。

from selenium import webdriver

1.ブラウザを開く
今回はGoogle Chromeを使います。
ChromeDriverのインストールを事前に行ってください。

driver = webdriver.Chrome() #パスが通っていない場合は ()の中でパスを指定

このような空白の状態でChromeが起動します。

スクリーンショット 2020-06-01 15.19.44

2.Instagramへアクセス
続いてInstagramへアクセスします。

driver.get("https://www.instagram.com/")
driver.implicitly_wait(10)​

ページの読み込みが完了するまで最大10秒待つようにしています。
この処理がないとページ読み込み完了前に
ユーザネーム、パスワード入力処理に移ってしまい
エラーが発生してしまいます。

これでログインページを開くことができました。

スクリーンショット 2020-06-01 15.23.15

3.ユーザネーム入力
ユーザネーム(@以下部分)を入力します。
(メールアドレス、電話番号でもOKです。)

まず、入力する場所を指定する必要があります。
id, name, text, class等を用いて指定することが可能です。
今回はXPathを使用して指定します。
  
以下の手順でXPathを取得します。
ユーザネーム入力ボックスをクリック
>右クリック
>検証
>右側にデベロッパーツールが開く
>青く網掛けになっている部分で右クリック
>Copy
>Copy full XPath

スクリーンショット 2020-06-01 16.19.57

XPath:コピーしたXPath
ID:ユーザネーム or 電話番号 or メールアドレス
に変更することで入力が完了します。

id_box = driver.find_element_by_xpath("XPath")
id_box.send_keys(ID)

4.パスワード入力
3.ユーザネーム入力と同様の手順でXPathを調べます。
XPath:コピーしたXPath
Pass:パスワード
に変更することで入力が完了します。

id_pass = driver.find_element_by_xpath("XPath")
id_pass.send_keys(Pass)

5.ログインボタンクリック
同じ手順でログインボタンのXPathを調べます。
XPath:コピーしたXPath

lg_box = driver.find_element_by_xpath("XPath")
lg_box.click()


以上で、ログインまでの流れです。
次はいいねの方法について書いていこうと思います。
質問や指摘等あればコメントお願いします。

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