본문 바로가기
강의 리뷰

머니해커 님의 강의로 인스타그램 자동화 코딩하기!

by ⧑⦃ ⦂⧝⦂ ⦄⧒ 2020. 12. 29.

 

머니해커 인스타그램 자동화 코딩 강의 이미지

 

CLASS101에서 머니 해커 님의 '자동으로 돈을 버는 프로그램 만들기, 머니 해킹' 강의를 계속 듣고 있습니다!

 

드디어 코딩 파트까지 와서 인스타그램 자동화를 하고 있는데요 역시 쉽지 않네요.

음... 코딩이 어렵다기보다는 반사적인 거부감이... 자꾸 흐린 눈으로 강의를 보게 되네요.

머니 해커 님이 깔끔하고 명쾌하게 알려주고 있으니 천천히 따라 하기만 하면 됩니다.

다만 상황에 따라 SNS 내부적인 조정으로 인해 해당 메크로가 막히기도 하기 때문에 댓글을 보고 도움받으시면 좋습니다!

 

* 맥 OS를 이용하여 수업을 듣고 있습니다. 그래서 전체적인 진행은 비슷한데 일부 내용이 windows와는 조금 다르게 적용될 겁니다!

 


CHAPTER 5. 사업을 받쳐줄 코딩(Coding) 기술 배우기

 

:: 프로그래머 마인드 전환하기 ::

  1. 프로그래밍은 문제해결을 위한 것이다.
  2. 코딩은 단순한 조립이다.

 

:: 개발 환경 세팅 ::

  1. 파이썬 설치 - https://www.python.org/downloads/
  2. 파이참 설치 - https://www.jetbrains.com/ko-kr/pycharm/download/#section=windows

    혹시 사용하고 있는 개발 프로그램 있다면 파이 참 대신 그 프로그램을 사용해도 됩니다.
 

Download Python

The official home of the Python Programming Language

www.python.org

 

다운로드 PyCharm: JetBrains가 만든 전문 개발자용 Python IDE

 

www.jetbrains.com


:: 코딩의 개념과 코드 작성 방법 ::
1. 코딩이란?

프로그램을 개발하기 위해 코드를 짜는 일. 프로그래밍 언어로 코드를 작성해야 합니다. 안드로이드 애플리케이션을 개발하기 위해서는 Java나 Kotlin을, 아이폰 애플리케이션 개발을 위해서는 Swift를, 통계 관련해서는 R이나 파이썬이라는 언어를 이용합니다. 프로그래밍 언어 하나를 마스터하면 다른 언어들도 비슷한 구조를 가지고 있어서 쉽게 배울 수 있습니다. '변수'와 '함수'만 기억합시다.


2. 단순 코딩을 할 것이기 때문에 이미 만들어져 있는 코드들을 퍼즐게임처럼 끼워 맞추기한다고 편하게 생각합시다.

3. 코드들을 하나의 뭉텅이로 만든 것이 '함수'입니다.

 


:: 변수 ::
데이터를 담는 그릇. 숫자, 문자, 문자열 등이 들어갈 수 있습니다.

 


:: 라이브러리 ::
자신이 만든 코드를 다른 개발자들도 사용할 수 있게 만든 공용 코드. 모듈이라고 말하기도 합니다. 기본으로 내장되어 있는 라이브러리와 구글이나 깃허브 검색을 통해 외부 라이브러리를 불러와 사용할 수 있습니다.
터미널에 pip install pyautogui(라이브러리 이름)라고 쓰고 엔터를 치면 자동으로 설치가 되고, 글자에 밑줄이 사라지면 설치가 완료된 것이기 때문에 마음대로 쓸 수 있습니다.

 


:: 인스타그램 자동화 구현 ::
1. 크롬브라우저를 실행합니다.
2. 인스타그램 자동 로그인합니다.
3. 해시태그를 통해서 가장 최신 글을 선택합니다.
4. 해당 글에 좋아요를 클릭하고 3으로 가서 반복합니다.

 

 

:: 인스타그램 자동화 구현 자세히 실행해보기 ::


크롬 드라이버 다운 받기

 

 

(https://chromedriver.chromium.org/downloads)

 

셀레니움 라이브러리 전체를 쓰려면 임포트 하면 됩니다.

import selenium

그러나 우리는 일부만 사용할 거기 때문에 아래와 같이 써 줍니다.

from selenium import webdriver

명령어들에 빨간 밑줄은 해당 라이브러리가 설치되어 있지 않다는 뜻이므로 selenium 끝에 커서를 두고 option + enter를 눌러 설치를 해줍니다.

selenium 끝에 커서를 두고 option + enter를 누르면 작은 팝업이 뜨는데, 여기서 Install Package selenium을 누르면 설치가 됩니다.

그리고 아래와 같이 코드를 입력해 줍니다.

from selenium import webdriver
import time

def main() :
    driver = webdriver.Chrome('내 맥의 chromedriver 주소')
    time.sleep(10)
main()

 

 

그런데, 여기서 문제가 발생합니다!

 

깊은 빡침...

 

[ 개발자를 확인할 수 없기 때문에 'chromedriver'을(를) 열 수 없습니다. ]라는 알람이 뜨면서 실행이 안 되는 것이죠...

이 기능을 게이트키퍼(GateKeeper)라고 하는데 맥 OS에서 안전한 파일만 열 수 있도록 설정해 두는 기능이에요. 바이러스를 피할 수 있는 좋은 기능이지만, 개발할 때는 꽤 성가십니다. 😬

요거는 차단을 해제해 둔터라 문제 될 일이 없었는데, 얼마 전에 Big Sur로 업데이트를 한 후로 인터넷에서 다운로드한 프로그램이 또 안 열리게 되었네요.

쩝... 별 수 있나요... 또 비활성화 설정을 해줘야죠, 뭐.

[터미널]을 켜 주시고, 아래의 명령어를 입력하여 엔터를 쳐주세요.

sudo spctl --master-disable

그러면 비밀번호를 치라는 명령어가 뜨는데요, 암호를 입력해도 뭔가 글자가 처지지 않는 것처럼 보이지만 노출되는 것을 막기 위해서 보이지 않는 것이니 입력하시고 엔터 치시면 됩니다.

그리고 터미널을 끄고 [시스템 환경설정]에서 [보안 및 개인 정보 보호]를 누르시면 다음에서 다운로드한 앱 허용 부분에 '모든 곳'이 선택되어 있는 것을 보게 되실 거예요. 이제는 실행이 빠릿빠릿하게 될 겁니다.

휴... 여기까지 오는데도 힘들었다...

 

 

 

다음으로 인스타그램 자동 로그인, 해시태그 좋아요 반사 페이지 상세보기, 좋아요 버튼 클릭까지 실행하도록 합니다.

from selenium import webdriver
import time

def main() :
    driver = webdriver.Chrome('내 맥의 chromedriver 주소')
    driver.get('https://www.instagram.com/accounts/login/?source=auth_switcher')
    time.sleep(5)
    id_form = driver.find_element_by_xpath('//*[@id="loginForm"]/div/div[1]/div/label/input')
    id_form.send_keys('계정아이디넣기')
    pw_form = driver.find_element_by_xpath('//*[@id="loginForm"]/div/div[2]/div/label/input')
    pw_form.send_keys('계정비밀번호넣기')
    pw_form.submit()
    time.sleep(5)
    hashtag = "좋아요반사"
    driver.get("https://www.instagram.com/explore/tags/" +hashtag)
    time.sleep(5)
    picture = driver.find_elements_by_class_name('_9AhH0')[9]
    picture.click()
    time.sleep(3)
    like_btn = driver.find_element_by_xpath('/html/body/div[5]/div[2]/div/article/div[3]/section[1]/span[1]/button')
    like_btn.click()
    time.sleep(100)
main()

 

여기까지 진행이 무사히 완료되었다면, 이제 이 작업들을 반복하도록 코드를 짭니다.

자동 로그인 부분은 auto_login라는 함수로, 좋아요반사 페이지에 들어가 하트를 누르는 부분은 work라는 함수로 묶어주었고, 반환되는 값은 driver를 넣어 줍니다. 그리고 main 함수 안에 이 두 함수들을 넣어 줍니다.

로그인은 한 번만 하지만, 하트 누르는 작업은 계속 반복되도록 하기 위해 while True :이라는 함수를 써 줍니다.

(완성된 코딩은 머니 해킹 클래스에서 확인하세요! 🥰)

 


여기까지가 인스타그램 자동화하는 코딩이었어요!

머니 해커 님 강의는 윈도 기반으로 정리되어 있기 때문에, 맥 이용자인 저는 몇 가지 어려움을 만났지만 다른 클래스메이트들이 남겨준 댓글 덕분에 잘 해결했답니다.

초반에 맥 시스템적인 문제로 이것저것 찾아보고 설정해야 할 때는 진짜 머리를 쥐어뜯으며 괴로웠는데, 막상 코딩을 다 하고 나니 너무나 재밌네요. 의외로 쉬운 방법이었구나 싶어요.

 

인스타그램 자동화 코딩에 이어서 네이버 블로그 자동화, 크몽 자동화를 구현하는 강좌도 연달아 있는데요, 인스타그램 코딩을 잘 이해하니까 무리 없이 따라갈 수 있었어요. 사실 저는 개발에 발을 살~짝 걸친 디자이너라 어느 정도 이해했지만, 정말 코딩을 1도 모르는 분이라면 조금 난이도가 있는 수업이 아닐까 하는 생각이 듭니다. 코딩에 관심이 있고 배우고 싶은 분이라면 생활코딩과 같은 무료 강의로 준비 운동을 좀 하시고 이 수업을 듣는다면 잘 따라오실 것 같아요!

 

오늘은 여기까지 하렵니다. 더하면 토할 것 같아요... 

 

내일은 마지막 챕터까지 달려보려고요!

 

 

 

 

 

 

 

 

 

 

 

 



댓글