클릭 기부하고 싶은데
예전에는 어린이들만 했다.. 왜 그랬는지 노인들은 싫었는데 ㅎㅎ
이제 40대가 되니 에헴
여하튼 생각날때마다 들어가서
응원 (하트) 누리고 댓글을 달았다
그래도 개발자인데 한방에 하는 방법이 없을까 하다 크롤링 배워서 해보기로 함
그래서 백수기념으로 한번 만들어봤다
재밌다 파이썬
겁나 빠르게 90개 정도 9천원 !!! 기부ㅋㅋ
코드 참고 하시고 시간 되시는 분 파이썬 돌려서 기부해주시면 좋을 거 같다
시간 되면 댓글까지 할 예정
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import pyautogui
import pyperclip
import time
#브라우저 생성
browser = webdriver.Chrome()
#로그인
def kakao_login():
login ='https://accounts.kakao.com/login/together?continue=https%3A%2F%2Ftogether.kakao.com%2Ffundraisings%2Fnow'
browser.implicitly_wait(2) # 로딩 기다림
browser.maximize_window() # 화면 최대환
browser.get(login)
#아이디 입력 #id_email_2
browser.find_element_by_css_selector("#id_email_2_label").click()
#id.send_keys('nayha77') #이렇게 하면 bot 감지 대상
pyperclip.copy('카카오아이디')
pyautogui.hotkey('ctrl','v')
time.sleep(2)
#비밀번호 입력 #id_password_3
browser.find_element_by_css_selector('#id_password_3_label').click()
pyperclip.copy('카카오비밀번호')
pyautogui.hotkey('ctrl','v')
time.sleep(2)
#로그인 버튼
login_send = browser.find_element_by_css_selector("#login-form > fieldset > div.wrap_btn > button.btn_g.btn_confirm.submit")
login_send.click()
#웹사이트 열기
browser.get('https://together.kakao.com/fundraisings/now')
browser.implicitly_wait(3) #로딩이 끝날 때까지 10초까지는 기다려줌
kakao_login() #로그인
#스크롤 전 높이
before_h = browser.execute_script("return document.body.scrollHeight")
#무한 스크롤 제일 하단까지 이동
while True:
# 맨 아래로 스크롤 내린다.
browser.find_element_by_css_selector('body').send_keys(Keys.END)
time.sleep(1) # 스크롤 사이 페이지 로딩 시간
# 스크롤 후 높이
after_h = browser.execute_script("return window.scrollY")
# 스크롤 전 후 같으면 while 탈출
# 같지 않으면 스크롤 후 높이를 스크롤 이전 변수에 할당한다.
if after_h == before_h:
break
before_h = after_h
# 상품 정보 div 에서 URL 정보 가져온다
items = browser.find_elements_by_css_selector('.listcard')
# 기부 URL 배열
link_url = []
for item in items:
try:
link_pack = item.find_element_by_css_selector('.link_pack').get_attribute('href')
link_url.append(link_pack)
except:
pass
# 가져온 링크 하나씩 접속
#for idx in range(1,3): #테스트 3개만
for idx in range(len(link_url)):
try:
browser.get(link_url[idx])
except:
print("Time Out!")
continue
######## 접속한 URL에서 응원 클릭 받아오기 ########
try:
browser.find_element_by_css_selector('#mArticle > div.fund_float > button.btn_g.btn_cheer').click()
except:
browser.switch_to_alert().alert()
print("게시글이 삭제된 경우입니다.")
continue
반응형
':::: 개발 :::: > :::: PYTHON(파이썬) ::::' 카테고리의 다른 글
django 어드민 애러.. 정리 (0) | 2022.12.05 |
---|---|
파이썬 사이트 상태 (0) | 2022.08.26 |
파이썬 튜플 리스트 차이점 , 딕셔너리 코드 (0) | 2022.08.25 |
파이썬 간단한 숫자 맞추기 게임 (2) | 2022.08.25 |
셀레니움( selenium ) 무한 스크롤링 오류날때 (0) | 2022.02.23 |
20210925 파이썬 자동매매 키움 API 로그인 실습 (0) | 2021.09.25 |
210925 파이썬 자동매매 공부 시작 GUI (2) | 2021.09.25 |
셀리니움 Selenium 중첩 클래스 찾아오기 (0) | 2021.03.15 |