見出し画像

偏差値38でもできるpython講座

こんにちは。
偏差値38の高校から大学卒業、
現在は大手人材会社で働きながらwebショップを運営している23歳です。

前回、インフルエンサーを目指しませんか?という内容で記事を書きました。

本日はフォロワーを1日当たり1〜2名増やす方法をお伝えします。

pythonで自動いいね!ツールを作ってみた。

運用するまでの全体象をお伝えします。

STEP1
・環境構築
・エディタのインストール

STEP2
・Seleniumとchromedriverのインストール
・フォルダ、ファイル作成

STEP3
・コードをファイルにコピペ
・ターミナルを開いてフォルダとファイル名を指定する。

では、早速いきましょう。
不明な点があれば下部のメールにてお問い合わせください!

STEP1

環境構築とは・・・

簡単にいうと、いつでもどこでもPythonのコードを書き、
自分の好きなプログラムを開発するための環境をPC上に作ることです。 

インターネット上にプログラムを公開し、ブラウザ経由で誰もがアクセスできるようにするためには、インターネットに接続されたコンピュータ、つまりサーバーが必要です。
サーバーはレンタルサーバーやVPS, クラウドなどいくつかの種類がありますが、多くの場合はLinuxというOSにより動作しています。

しかし、多くの方はWindowsかMacいずれかのPCを使用しています。
これらはそれぞれWindows, OSXといったOSを搭載しています。

もちろんそういった環境で開発をすることはできますが、結局サービスを公開するにはLinuxで動作するサーバーに、プログラムが記述されたファイル群をアップロードしなければなりません。

そして、WindowsやOSX上で正しく動作したからといって、
Linux上でも正しく動作するとは限りません。
そのため、開発する環境(自分のPC)と、
公開する環境(サーバー)のOSを揃える必要があります。


エディタとは・・・

一言でいうと、「何かを編集するときに使うソフトのこと」です。

エディタという用語は、
基本的には「○○エディタ」という形で登場します。

例えば「テキストエディタ」と呼ばれるソフトがあります。
テキストエディタは、テキストファイル(中身が文字だけのファイル)を編集するときに使うソフトの総称です。
今回使用する「Atom」などが、テキストエディタに分類されます。


STEP2

・Seleniumとchromedriverをインストールする

Seleniumとは・・・

Seleniumとは、Webブラウザを使ってWebアプリケーションをテストするツールです。

この「Webブラウザを使って」というのが非常に大きなポイントで、人が手でWebブラウザを操作する代わりにSeleniumがWebブラウザを操作してくれるのです。

そして単純に操作するだけでなく、例えばエラーメッセージが正しく表示されているかといった検証も行うことができます。

つまり、今まで人手を必要としていたWebブラウザを使った試験が自動化できるものなのです。そのため数百項目もあるテストも、クリック1回で実施できます。

chromedriverとは・・・

ChromeDriverとは、Google Chromeを操作するために必要なドライバ(ソフト)です。

ブラウザごとに専用のドライバが用意されていますが、
今回はGoogle Chromeを操作します。

ChromeDriverはこちらからダウンロードできます。
ブラウザのバージョンに合ったドライバを選んでください。


STEP3

・自動いいねをするコードをファイルに写す

デスクトップ上にinsta-autoというフォルダを作ります。

そして、insta-auto.pyというファイルを作ってinsta-autoフォルダに入れておきます。(他のファイルに関してはなくても問題ないです。)

スクリーンショット 2020-07-05 5.37.20


insta-auto.pyというファイルに下記、コードをコピペしてください。

from selenium import webdriver
from selenium.common.exceptions import WebDriverException
from selenium.webdriver.common.action_chains import ActionChains
import time
import random

def login():
	driver.get('https://www.instagram.com/accounts/login/?source=auth_switcher')
	f = open('insta.txt','a')
	f.write("instagramにアクセスしました\n")
	f.close()
	time.sleep(1)

	#インスタグラムIDと、パスワードを入力
	driver.find_element_by_name('username').send_keys('インスタグラムID')
	time.sleep(1)
	driver.find_element_by_name('password').send_keys('パスワード')
	time.sleep(1)

	#ログインボタンを押す
	driver.find_element_by_class_name('L3NKy       ').click()
	time.sleep(random.randint(2, 5))
	f = open('insta.txt','a')
	f.write("instagramにログインしました\n")
	f.close()
	time.sleep(1)

def tagsearch(tag):
	instaurl = 'https://www.instagram.com/explore/tags/'
	driver.get(instaurl + tag)
	time.sleep(random.randint(2, 10))
	f = open('insta.txt','a')
	f.write("listtagより、tagで検索を行いました\n")
	f.close()
	time.sleep(1)

def clicknice():
	target = driver.find_elements_by_class_name('_9AhH0')[10]
	actions = ActionChains(driver)
	actions.move_to_element(target)
	actions.perform()
	f = open('insta.txt','a')
	f.write("最新の投稿まで画面を移動しました\n")
	f.close()
	time.sleep(1)

	try:
		driver.find_elements_by_class_name('_9AhH0')[9].click()
		time.sleep(random.randint(2, 10))
		f = open('insta.txt','a')
		f.write("投稿をクリックしました\n")
		f.close()
		time.sleep(1)
		driver.find_element_by_class_name('fr66n').click()
		f = open('insta.txt','a')
		f.write("投稿をいいねしました\n")
		f.close()
		time.sleep(1)

	except WebDriverException:
		f = open('insta.txt','a')
		f.write("エラーが発生しました\n")
		f.close()
		return

	for i in range(random.randint(5, 10)):
		try:
			driver.find_element_by_class_name('coreSpriteRightPaginationArrow').click()
			f = open('insta.txt','a')
			f.write("次の投稿へ移動しました\n")
			f.close()
			time.sleep(random.randint(random.randint(2, 5), random.randint(10, 15)))

		except WebDriverException:
			f = open('insta.txt','a')
			f.write("2つ目の位置でエラーが発生しました\n")
			f.close()
			time.sleep(5)

		try:
			driver.find_element_by_class_name('fr66n').click()
			f = open('insta.txt','a')
			f.write("投稿をいいねしました\n")
			f.close()
			time.sleep(2)
		except WebDriverException:
			f = open('insta.txt','a')
			f.write("3acつ目の位置でエラーが発生しました\n")
			f.close()

if __name__ == '__main__':
  #ハッシュタグを指定してください。
	taglist = ['l4l', 'いいね返し']

	while True:
		driver = webdriver.Chrome('/usr/local/bin/chromedriver')
		time.sleep(1)
		login()

		tagsearch(random.choice(taglist))
		clicknice()

		driver.close()

		abc = random.randint(random.randint(20, 100), random.randint(120, 1800))
		f = open('insta.txt','a')
		f.write(str(abc)+"秒待機します\n")
		f.close()
		time.sleep(abc)

・Pythonプログラムを実行する。

ターミナルを開いて、以下のコマンドを入力します。

cd Desktop/insta-auto/


これでデスクトップのinsta-autoフォルダに移動します。

python insta-auto.py

下記、例です。

スクリーンショット 2020-07-05 5.49.59


そして、insta-auto.pyファイルを実行(エンターキー押下)します。

すると、ターミナルが開いてchromeブラウザが自動的に立ち上がり処理が始まっていきます。

下記の動画になればOKです。



いいなと思ったら応援しよう!

むらやましゅん
お仕事のご依頼は下記メールアドレスから受け付けております。 その他、ご質問やご要望があればお気軽にご連絡ください。 Mail: official@uink.info

この記事が参加している募集