파이썬 인스타그램 봇을만들고있습니다.. 반복시 나타나는 방어벽 어떻게 대처하면될까요??

안녕하세요 코드 토크 분들!!, 랩뷰를 전공으로하지만 파이썬에 재미가 붙어 간단한 봇을 만들어볼려합니다.

많은 오픈소스와 여러가지 작은 공부들을 통해 완성해가고있고 완성했다 생각했습니다!!
목표는… 자동로그인 + 설정 주제검색 + 게시글 좋아요 및 팔로우, 댓글을 요구한 횟수까지 순차로 실행!
인데… 현재 그렇게까지 되었지만 인스타 방어벽에의해 반복적인 패턴을 하면은 막는 것 같았습니다…

그래서 현재 목표는… 랜덤한 대기시간 + 첫페이지부터가아닌 검색된 1천페이지가 있다면 그 페이지를 랜덤으로 들어가 동작을 수행하는것입니다!

하지만 많은 부분이 정말너무어려워서 하기가 힘드네요 ㅠㅠ 이미 좋아요눌른곳은 안하는 중복검사도 만들지못하겠습니다… 랩뷰는 그림언어라그런지 많이 파이썬 따라가기 힘드네요… 수정할부분이나
알려주실부분있으면 너무 감사드릴것같습니다!!!

부탁드립니다!

인스타 그램 자동 로그인 하여

import requests
import bs4
import time
import random

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

웹드라이버 열 준비 하기

driver = webdriver.Chrome(r’c:\Users\gojil\Desktop\Python\chrome1\chromedriver.exe’)
url = ‘Login • Instagram

웹 페이지 열기

driver.get(url)

time.sleep(2)

인스타 자동 로그인하기

driver.find_element_by_name(‘username’).send_keys(‘x’) # driver.find_element_by_name(‘password’).send_keys(‘edifice83!@’)
driver.find_element_by_name(‘password’).send_keys(‘y’)
driver.find_element_by_name(‘password’).send_keys(Keys.ENTER)
time.sleep(5)

설정 창 넘어가기

driver.find_element_by_css_selector(’.XTCLo.x3qfX’).send_keys(‘캠핑’)
time.sleep(3)
driver.find_element_by_css_selector(’.XTCLo.x3qfX’).send_keys(Keys.ENTER)
driver.find_element_by_css_selector(’.XTCLo.x3qfX’).send_keys(Keys.ENTER)
time.sleep(3)

댓글달기

menu = [‘멋지네요~!’,
‘잘보고 가요~!!’,
‘잘봤어요~!!’,
‘좋은사진 잘 봤어요~!’,
‘Thanks for your posting! :)’,
‘Nice posting!:)’
]

i = True
j = 0

driver.page_source
pic_list = driver.find_elements_by_class_name(’_9AhH0’)

for page in pic_list[0:100]:
page.click() # 페이지 클릭
time.sleep(10)

if driver.find_element_by_class_name('Ypffh'):
    #if i:
        # 좋아요 누름
        driver.find_element_by_class_name('fr66n').click()
        time.sleep(3)
        #driver.find_element_by_class_name('aOOlW').click()
        #time.sleep(3)
        driver.find_element_by_class_name('bY2yH').click()
        time.sleep(3)

        #i = False
    #else:
        # 댓글 남기기
       #driver.find_element_by_class_name('Ypffh').click()
        #time.sleep(2)
        #driver.find_element_by_class_name('Ypffh').send_keys(random.choice(menu))
        #time.sleep(2)
        #driver.find_element_by_class_name('Ypffh').send_keys(Keys.ENTER)
        #time.sleep(2)
        #i = True
#driver.find_element_by_class_name('Ypffh').send_keys(Keys.ESCAPE)
webdriver.ActionChains(driver).send_keys(Keys.ESCAPE).perform()

#driver.find_element_by_class_name('wpO6b').click()
time.sleep(50)

#wpO6b ckWGn
j = j + 1
print(j)

if j == 9:

j = 0

driver.find_element_by_tag_name(‘body’).send_keys(Keys.END)

time.sleep(2)

많은부분이 에러가 났어서 주석처리한부분들이있습니다…
봐주셔서 감사합니다.

밑에 큰글씨로된 부분은 필요없는부분입니다! 주석처리햇는데 이상하게보이네요 ㅠㅠ

코드를 백쿼트 세 개로 싸세요.


코드

스크린샷 2020-03-03 오후 2.52.32