나의 블로그를 찾아주는 사람이 없는 관계로 다가... 다른 사람들의 글을 읽고 댓글을 달아겠다.
그전에 먼저 그들을 글을 읽고 공감(?)을 클릭해 본다. 매일 처럼...
물론 글을 다 잘 읽고 잘 달아 주면 좋겠지만, 그들에게 힘을 보태주기 위해서 난 오늘도 자동화를 해 보기로 했다.
스크립트 중간에 sleep 이 들어가는 것은 아무래도 페이지가 다 로드 되기 전에 다음 action 을 하게 되면 스크립트 오류가 발생하기 때문이다. 그래서 중간 중간에 그런 걸 막기 위해서...
# coding=utf-8
import ssl
from bs4 import BeautifulSoup
from selenium import webdriver
import time
import urllib.request
import urllib.parse
from bs4 import BeautifulSoup
path = "C:\\Users\\nari4\\AppData\\Local\\Programs\Python\\Python37\\chromedriver.exe"
driver = webdriver.Chrome(path)
driver.implicitly_wait(2)
# 티스토리 접속
driver.get('https://www.tistory.com/')
# 계정 로그인 버튼 클릭
driver.find_element_by_xpath('//*[@id="kakaoHead"]/div/div[3]/div/a').click()
driver.find_element_by_xpath('//*[@id="cMain"]/div/div/div/a[1]/span[2]').click()
time.sleep(1) # 페이지가 로딩하는 걸 기다리기 위해서
# 로그인
username=driver.find_element_by_xpath('//*[@id="id_email_2"]')
username.send_keys('아이디')
password=driver.find_element_by_xpath('//*[@id="id_password_3"]')
password.send_keys('패스워드')
time.sleep(1) # 페이지가 로딩하는 걸 기다리기 위해서
driver.find_element_by_xpath('//*[@id="login-form"]/fieldset/div[8]/button[1]').click()
time.sleep(1) # 페이지가 로딩하는 걸 기다리기 위해서
driver.get("https://www.tistory.com/feed")
time.sleep(1) # 페이지가 로딩하는 걸 기다리기 위해서
html = driver.find_element_by_class_name("list_tistory").get_attribute("innerHTML")
soup = BeautifulSoup(html.encode("utf-8"),'html.parser')
urls=soup.find_all(class_="inner_desc_tit") # 내가 읽을 feed 의 URL 주소만 뽑아오기
for url in urls:
try:
driver.get(url['href'])
driver.implicitly_wait(30) # 페이지가 로딩하는 걸 기다리기 위해서
driver.find_element_by_class_name("wrap_btn").click()
except:
print(url['href'] + " 이 페이지는 오류 입니다.")
print("Job END ... ")
driver.close()
준비물 : python 은 기본, chromedriver 이건 아래 링크를 참고해서 설치하시면 될 듯... 그리고는 늘 켜져 있는 컴퓨터가 필요한데, 그걸 대신 하는 방법은 rasberry pi 을 이용하는 것도 한가지 방법일 듯...
말은 필요 없을 듯 하고, 스크립트 작성해서 그냥 실행하시면 끝... 다만 간혹 중간에 클릭이 되지 않는 페이지 들이 발생하고 있는데, 이건 아직... 나중에 알게 되면 수정해서 다시 업데이트를 진행하는 것으로 해야겠다.
크롬 드라이버 설치는 아래 링크를 참고하시길...
https://chromedriver.chromium.org/downloads
이걸 작성하면서 참고한 페이지
https://yobbicorgi.tistory.com/21
이 페이지를 참고하면서 얻은 것은 내가 만든 스크립트가 로봇으로 걸리지 않는다는 것이다. 어떻게 구현하다 보니 로봇으로 인식이 되어 로봇이 아님을 인증해 주어야 하는 그림 캡쳐가 나오던데... 이분의 스크립트는 그런게 없었다.
'파이썬 스크립트' 카테고리의 다른 글
파이썬으로 따라하는 자동화 스크립트 : daum.net 스크랩 해보기 (3) | 2021.12.14 |
---|---|
파이썬 으로 따라하는 자동화 스크립트 : 공감 클릭하기 (6) | 2021.12.13 |
파이썬 으로 따라하는 자동화 스크립트 자동 댓글 달기... (6) | 2021.12.12 |
파이썬 으로 따라하는 자동화 스크립트 자동 댓글 달기 (3) | 2021.12.11 |
파이썬 자동화 스크립트 : Tistory open api test 예제 (2) | 2021.12.08 |