Command & Development/Python

[Python] instagram 자동 좋아요

Richard.Ryu 2024. 8. 20. 10:06
반응형

VSCODE에서 아래 내용 실행하시면, 터미널에서 아이디, 비밀번호, 태그, 좋아요 횟수 입력 후 자동으로 수행하게 됩니다.

 

Instagram 내 코드가 자주 수정되므로.. 언제까지 될지 모르겠네요..(확인 : 2024.08.20)

 

참고한 블로그는 아래와 같습니다.

 

인스타그램 자동 좋아요 프로그램 만들기 - 파이썬(python), 셀레니움(selenium) - 로그인, 원하는 횟

구현 기능 - 인스타그램 로그인, 설정한 횟수만큼 자동 좋아요 작업 작업환경 - 윈도우10, VS Code, Python3 오늘 구현해 볼 기능은 아주 간단한 인스타그램 로그인과 설정한 횟수만큼 자동으로 좋아

private.tistory.com

 

##instagram

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.action_chains import ActionChains
import time
import random
import os

# 대기 시간 random
wait_time = random.uniform(5, 30)

# 필요한 변수 정의
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')


driver_path = os.path.join(os.getcwd(), "chromedriver.exe")
service = Service(driver_path)
driver = webdriver.Chrome(service=service, options=options)
driver.implicitly_wait(10)

driver.get('https://www.instagram.com/?hl=ko')
print('로그인중....')
time.sleep(wait_time)

# 아이디 입력창을 찾아서 위에서 입력받은 아이디(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)  # 아이디 입력

# 패스워드 입력창을 찾아서 위에서 입력받은 패스워드(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)

# 로그인 버튼 클릭
login_btn = driver.find_element(By.XPATH, '//*[@id="loginForm"]/div/div[3]/button')
login_btn.click()

# 잠시 대기
time.sleep(wait_time)

# 4. 작업할 해시태그 검색 결과 페이지로 이동
driver.get(f'https://www.instagram.com/explore/tags/{insta_tag}/')
time.sleep(wait_time)


first_feed = driver.find_element(By.XPATH, "//article//a[contains(@href, '/p/')]")
first_feed.click()


for idx in range(insta_cnt) :

    like_btn = driver.find_element(By.CSS_SELECTOR, 'svg[aria-label="좋아요"]')
    actions = ActionChains(driver)
    actions.move_to_element(like_btn).click().perform()
    time.sleep(wait_time)

    next_btn = driver.find_element(By.CSS_SELECTOR, 'svg[aria-label="다음"]')
    next_btn.click()
    time.sleep(wait_time)
print(f"작업 완료 : {idx + 1} 회")

 

반응형

'Command & Development > Python' 카테고리의 다른 글

[Python] 가위바위보 게임  (0) 2024.01.08
[Python] Lotto 번호 생성  (0) 2023.03.29
Python - 4  (0) 2022.05.12
Python - 3  (0) 2022.05.11
Python - 2  (0) 2022.05.10