본문 바로가기
💻CODING/python

[py] 인스타그램 좋아요 자동화

by 코딩하는 갓디노 2022. 10. 24.

 

구현 화면

로그인, 피드 좋아요 자동화

 

구현 내용

  • 인스타그램 로그인 후 '좋아요반사' 태그 페이지 호출
  • 페이지 내 모든 게시물 클릭 후 세부 페이지에서 좋아요 후 닫기

 

아쉬운 점

  • 현재 페이지에 9개의 피드가 올라와 9가지 좋아요 자동화가 가능하지만, 페이지네이션 부분이 안보여, 쿼리를 찾을 수 가 없어 다른 페이지로 이동처리를 하지 않음
  • 클래스명이 자주 바뀌는 것 같음

 

구현 코드

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager #크롬 드라이버 자동 업데이트
from selenium.webdriver.common.by import By 

import time
import pyautogui
import pyperclip

chrome_options = Options() #브라우저 꺼짐 방지
chrome_options.add_experimental_option("detach", True)
chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"]) #불필요한 에러 메세지 삭제

service = Service(executable_path = ChromeDriverManager().install()) #크롬 드라이버 최신 버전 자동 설치 후 서비스 만들기
driver = webdriver.Chrome(service = service, options = chrome_options)
driver.implicitly_wait(5)
driver.get("https://www.instagram.com/accounts/login/?source=auth_switcher") 

def login(driver):
    id = driver.find_element(By.XPATH, '//*[@id="loginForm"]/div/div[1]/div/label/input')
    id.click()
    id.send_keys('아이디')
    time.sleep(2)

    pw = driver.find_element(By.XPATH, '//*[@id="loginForm"]/div/div[2]/div/label/input')
    pw.click()
    pw.send_keys('비번')
    time.sleep(2)
    pw.submit() #로그인 실행버튼
    time.sleep(10)

def likeFn(driver):
    hashtag = '좋아요반사'
    driver.get(f"https://www.instagram.com/explore/tags/{hashtag}")
    time.sleep(5)
    likes = driver.find_elements(By.CSS_SELECTOR, 'div._aagw')
    for like in likes:
        like.click()
        like_btn = driver.find_element(By.CSS_SELECTOR, 'span._aamw > button > div > span > svg')
        like_btn.click()
        time.sleep(2)
        driver.back() #뒤로가기
        time.sleep(2)

def main():        
    login(driver)
    likeFn(driver)

main()

 

반응형

댓글