구현 화면
구현 내용
- 인스타그램 로그인 후 '좋아요반사' 태그 페이지 호출
- 페이지 내 모든 게시물 클릭 후 세부 페이지에서 좋아요 후 닫기
아쉬운 점
- 현재 페이지에 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()
반응형
'개발 > Python' 카테고리의 다른 글
[py] 네이버 블로그 좋아요 자동화 (ft. 셀레니움 actionchains) (0) | 2022.10.26 |
---|---|
[py] 사이트 로그인 방법 (ft. 보안 처리 유무) (0) | 2022.10.26 |
[py] 네이버 블로그 이웃 추가 자동화 (1) | 2022.10.11 |
[py] 파이썬 gui (ft. pyqt5 설치, 기본 세팅, Qt designer 설치) (0) | 2022.10.08 |
[py] 네이버 연관검색어 결과 크롤링 (0) | 2022.10.07 |
댓글