파이썬으로 네이버 블로그 이웃 글 자동 공감 클릭하기
2022. 3. 17. 00:20ㆍcoding
반응형
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import pyperclip
import time
driver = webdriver.Chrome(executable_path='본인 chromedriver path')
driver.get("https://www.naver.com")
# 로그인 페이지로 이동
driver.find_element(By.CLASS_NAME,'link_login').click()
# 로그인
user = {'id':'본인 아이디','pw':'본인 비밀번호'}
pyperclip.copy(user['id']) # 복사
# 맥이면 COMMAND, 윈도우면 CONTROL로 바꾸기
driver.find_element(By.ID,'id').send_keys(Keys.COMMAND + 'v') # 붙여넣기
pyperclip.copy(user['pw']) # 복사
# 맥이면 COMMAND, 윈도우면 CONTROL로 바꾸기
driver.find_element(By.ID,'pw').send_keys(Keys.COMMAND+ 'v') # 붙여넣기
driver.find_element(By.CLASS_NAME, 'btn_login').click() # 로그인 버튼 클릭
time.sleep(0.5)
# 네이버 블로그로 이동
driver.find_element(By.XPATH,'//*[@id="NM_FAVORITE"]/div[1]/ul[1]/li[3]/a').click()
next_ = 1
all_heart = 0
# 더 이상 누를 하트 없는 페이지 나올 때까지 반복
while True:
next_ += 1
# 공감 클릭
like_list = driver.find_elements(By.CLASS_NAME, 'u_likeit_list_btn._button.off')
if not like_list: # 누를 하트 없는 경우
all_heart += 1
if all_heart >= 100:
break
# 다음 페이지
if next_ < 11:
driver.find_element(By.XPATH,'//*[@id="content"]/section/div[3]/div/span[{}]/a'.format(next_)).click()
else:
next_ = 1
try:
driver.find_element(By.XPATH,'//*[@id="content"]/section/div[3]/div/a').click()
except:
driver.find_element(By.XPATH,'//*[@id="content"]/section/div[3]/div/a[2]').click()
continue
else:
all_heart = 0
for like in like_list:
try:
like.click()
time.sleep(0.2)
except:
pass
# 다음 페이지
if next_ < 11:
driver.find_element(By.XPATH,'//*[@id="content"]/section/div[3]/div/span[{}]/a'.format(next_)).click()
else:
next_ = 1
try:
driver.find_element(By.XPATH,'//*[@id="content"]/section/div[3]/div/a').click()
except:
driver.find_element(By.XPATH,'//*[@id="content"]/section/div[3]/div/a[2]').click()
많은 참고: https://pythonblog.co.kr/coding/28/
반응형
'coding' 카테고리의 다른 글
티스토리 api 막혔다........ (0) | 2022.04.07 |
---|---|
Hacktoberfest 2021 티셔츠 드디어 받았다 (0) | 2022.03.04 |
React Native component간에 데이터 주고받기 (0) | 2022.02.06 |
React Native navigation 화면 간 이동하기 (0) | 2022.02.06 |
expo로 만든 어플 애플 앱스토어로 출시하기 (2) - Mac, Transporter (0) | 2022.02.01 |