본문 바로가기
프로젝트/인스타그램 좋아요 봇

파이썬 인스타그램 좋아요 봇 만들기 #15 자동 팔로우 하기

by 큰공 2021. 1. 7.
728x90
반응형

 

개요

 파이썬 자동화 프로그램을 만들어 자동으로 좋아요를 하는 봇을 만들어 보자

 혹시나 앞선 포스팅을 못 봤다면 복습하고 오자.

2020/08/26 - [IT/파이썬] - 파이썬 인스타그램 좋아요 봇 만들기 #1 Selenium

2020/08/27 - [IT/파이썬] - 파이썬 인스타그램 좋아요 봇 만들기 #2 로그인

2020/08/31 - [IT/파이썬] - 파이썬 인스타그램 좋아요 봇 만들기 #3 태그검색

2020/09/02 - [IT/파이썬] - 파이썬 인스타그램 좋아요 봇 만들기 #4 좋아요 누르기

2020/09/07 - [IT/파이썬] - 파이썬 인스타그램 좋아요 봇 만들기 #5 최근 게시물 선택하기

2020/09/08 - [IT/파이썬] - 파이썬 인스타그램 좋아요 봇 만들기 #6 랜덤함수

2020/09/14 - [IT/파이썬] - 파이썬 인스타그램 좋아요 봇 만들기 #7 list index out of range

2020/09/17 - [IT/파이썬] - 파이썬 인스타그램 좋아요 봇 만들기 #8 페이지 새로고침

2020/10/05 - [IT/파이썬] - 파이썬 인스타그램 좋아요 봇 만들기 #9 xpath 찾기

2020/10/08 - [IT/파이썬] - 파이썬 인스타그램 좋아요 봇 만들기 #10 이미 좋아요 누른 게시물 패스하기

2020/10/21 - [IT/파이썬] - 파이썬 인스타그램 좋아요 봇 만들기 #11 태그 검색 변경하기

2020/10/29 - [IT/파이썬] - 파이썬 인스타그램 좋아요 봇 만들기 #12 광고성 글 건너뛰기

2020/11/03 - [IT/파이썬] - 파이썬 인스타그램 좋아요 봇 만들기 #13 selenium 언어설정

2020/12/29 - [IT/파이썬] - 파이썬 인스타그램 좋아요 봇 만들기 #14 댓글달기

 

파이썬 인스타그램 좋아요 봇 만들기 #14 댓글달기

개요  파이썬 자동화 프로그램을 만들어 자동으로 좋아요를 하는 봇을 만들어 보자  혹시나 앞선 포스팅을 못 봤다면 복습하고 오자. 2020/08/26 - [IT/파이썬] - 파이썬 인스타그램 좋아요 봇 만들

coinpipe.tistory.com

 

들어가며

 아마도 좋아요 봇 만들기의 마지막 구현이 되지 않을까 한다. 대망의 자동으로 팔로우 하기 기능을 만들어 보자. 사실 자동 팔로우 기능은 기능 자체의 어려움이 있다기 보다는 인스타그램 차단 알고리짐과 싸워야 하는 부분이다. 사실 팔로워를 늘리는것 중에 가장 효과가 좋은것이 먼저 팔로우를 신청하는것이다. 앞서서 좋아요 / 댓글을 자동화 하는것을 설명했는데, 팔로우를 마지막에 기능 구현하는것이 바로 그 이유이다.

 

로직

 1) 좋아요 20개당 댓글 하나, 팔로우 한번을 하도록 rand 함수를 구현한다.

 2) 댓글을 단 게시물을 통해서 팔로우를 하도록 한다.

 3) 이미 팔로잉이 된 상대에 대해서는 팔로우를 다시 하지 않도록 한다. (로직상 언팔이 됨)

 4) 팔로우를 하고 2초 후에 팔로우가 정상적으로 되었는지 확인하고, count 횟수를 올린다.

 5) 봇을 수행한뒤 팔로우를 신청한 갯수를 누적해서 출력한다.

 

팔로우 기능 on / off Flag

 댓글 기능 on / off 와 동일하게, 팔로우 기능도 끄고 키는 것을 하기 위해서 Flag 를 설정하자.

 추가적으로 팔로우를 얼마나 한지 판단하기위해서 count 변수도 정의하자.

 

#follow_flag = False

follow_flag = True

follow_count = 0

 

완성된 코드

            # 댓글 달기
            if comment_flag == True and randint(0,20) == 0 :
            ## 댓글 달기 로직 ##
            	# 팔로우 하기
                if follow_flag == True and randint(0,0) == 0 :
                    try : 
                        follow = browser.find_element_by_xpath('/html/body/div[5]/div[2]/div/article/header/div[2]/div[1]/div[2]/button')
                    except : 
                        try :
                            follow = browser.find_element_by_xpath('/html/body/div[4]/div[2]/div/article/header/div[2]/div[1]/div[2]/button')
                        except :
                            print ("exception in Follow")
                            break 
                    
                    if follow.text == 'Follow' :
                        follow.send_keys(Keys.ENTER)

                    time.sleep(2)

                    if follow.text == 'Following' :
                        follow_count += 1
                        print ("Follow Sucess", follow_count)
                        

 1) Follow 로직은 댓글 달기 로직 하위에 속한다. 댓글을 단 게시물에만 팔로우를 하기 위함이다.

 2) Follow Button 의 xpath 좌표를 찾는다. 게시물에 따라 2가지 형태가 있으며, try-catch 로 보완한다. (다른 형태가 더 있을 수 있다.)

 3) Follow Button 의 text 값을 얻어서 이값이 'Follow' 와 같은지 판단한다. 이 text 값이 Follow 가 아니라면 현재 해당 유저와 팔로우 된 상태임을 알 수 있다.

 * 해당 PC 의 언어 설정과도 연관이 있다. 동작이 되지 않을 경우 'Follow' 을 '팔로우' 등의 한글로 변경하여 동작을 수행하자. 

 4) 팔로우를 수행하고 나서, 2초후에 해당 text가 Following 으로 정상적으로 변했는지 체크한다. 인스타그램 봇 차단 알고리즘에 의해서 팔로우를 많이 하게 될 경우 이것이 Following 으로 잠깐 변했다가 다시 Follow 로 변화면서 팔로우가 안되는 현상을 보완하기 위함이다.

 5) 정상적으로 팔로우가 되었다면 Count 를 증가하고, 이를 출력한다.

 

맺으며

 기능적인 부분은 #15 자동 팔로우 하기 기능을 끝으로 마무리 하고자 한다. #16에서 시퀀스 그램과 총 마무리를 진행할 예정이다. 

 

 

728x90
반응형

댓글