아래 출처에서 인스타그램 좋아요 봇 파이썬 코딩을 보고 따라해보았다
주의해야할 점은
- 인스타그램 2차 비밀번호 인증 해제
- 페이스북으로 로그인 하였다면, 인스타그램 비밀번호도 설정
- 이상하게 1번 로그인 시도후에 또 로그인창이 떠있어서 재빠르게 수동으로 로그인정보 봇붙으로 진행하였다.
이부분은 내가 수정해볼수있도록 여러번 테스트해볼것이다.
결과 : 실제로 로봇처럼 되었다.
테스트 : 나는 인스타를 운동계정으로 활용하고 있어서 '운동하는직장인'으로 해시태그를 찾아서 좋아요를 누를 것이다
- 간격: 23초 으로 진행
- 진행시간 : 13시간= 780분 => 분당 2.6번
- 예상 좋아요 기록 : 2034.783번
- 테스트 좋아요 건수 : 2035번
=> 숫자체크를 실제로 다 하지는 못하겠지만, 내가 올린 피드에 좋아요 숫자를 누르는 것 관전포인트
(현재 좋아요 29개 - 오늘게시글)
* 좋아요 기록 보기 : https://blog.hangyeong.com/1342
파이썬 코딩 출처 : https://private.tistory.com/92
# -*- coding: utf-8 -*-
from selenium import webdriver
import inspect, os, platform, time
def bot():
#필요한 변수 정의
insta_id = input('인스타그램 아이디 : ')
insta_pw = input('인스타그램 패스워드 : ')
insta_tag = input('작업할 해시태그 : ')
insta_cnt = int(input('작업횟수(숫자만) : '))
#크롬드라이버 로딩
options = webdriver.ChromeOptions()
options.add_argument('--disable-gpu')
options.add_argument('user-agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36')
current_folder = os.path.realpath( os.path.abspath(os.path.split(inspect.getfile(inspect.currentframe()))[0]))
if platform.system() == 'Windows':
driver_path = os.path.join(current_folder, 'chromedriver.exe')
else:
driver_path = os.path.join(current_folder, 'chromedriver')
driver = webdriver.Chrome(driver_path, options=options)
driver.implicitly_wait(10)
### 인스타그램 자동 좋아요 작업 ###
#
# 1. 인스타그램 로그인 페이지로 이동
driver.get('https://www.instagram.com/?hl=ko')
print('로그인중....')
time.sleep(3)
# 2. 아이디 입력창을 찾아서 위에서 입력받은 아이디(insta_id)값 입력
id_input = driver.find_element_by_xpath('//*[@id="loginForm"]/div/div[1]/div/label')
id_input.click() #입력창 클릭
id_input.send_keys(insta_id)
# 아이디 입력 # 2-1. 패스워드 입력창을 찾아서 위에서 입력받은 패스워드(insta_pw)값 입력
pw_input = driver.find_element_by_xpath('//*[@id="loginForm"]/div/div[2]/div/label')
pw_input.click()
pw_input.send_keys(insta_pw)
# 3. 로그인 버튼 클릭
login_btn = driver.find_element_by_xpath('//*[@id="loginForm"]/div/div[3]/button')
login_btn.click() # 잠시 대기 time.sleep(3)
# 4. 작업할 해시태그 검색 결과 페이지로 이동
driver.get('https://www.instagram.com/explore/tags/{}/'.format(insta_tag))
time.sleep(2)
# 5. 인기게시물 첫번째 피드 선택
first_feed = driver.find_element_by_xpath('//*[@id="react-root"]/section/main/article/div[1]/div/div/div[1]/div[1]/a/div/div[2]')
first_feed.click()
time.sleep(1)
# 6. 좋아요 작업 - 입력한 횟수만큼 반복 작업
for idx in range(insta_cnt):
div = driver.find_element_by_xpath('/html/body/div[5]/div[2]/div/article/div')
div = div.find_element_by_xpath('/html/body/div[5]/div[2]/div/article/div[3]')
like_btn = div.find_element_by_tag_name('button') #좋아요 버튼
like_btn.click() #좋아요 클릭
print('{}번째 피드 좋아요 작업 완료'.format(idx + 1))
# 너무 빠르게 작업을 할 경우 많은 양의 작업을 하게 되어 인스타그램측에서 계정 정지나 경고를 할 수 있으니
# 작업과 다음 작업 사이의 속도를 조절하기 위해 20초 이상을 설정해주세요.
time.sleep(23)
# 7. 좋아요 작업 - 다음 피드로 이동
if idx < insta_cnt:
next_feed = driver.find_element_by_link_text('다음')
next_feed.click()
print('모든 작업 완료')
driver.quit()
bot()
'IT Studio > 개발' 카테고리의 다른 글
[파이썬] 좋아요 봇 개선중 (1) | 2021.07.17 |
---|---|
파이썬 selenium webdriver 로드오류 해결 (방법 : r 앞에 붙이기) (0) | 2021.07.16 |
[파이썬] 구구단 코딩하기 (0) | 2021.07.14 |
[파이썬] 피보나치 수열 코딩 (0) | 2021.07.14 |
파이썬 개발 공부 꾸준히 하고있는중 (0) | 2021.07.13 |