[자동화 프로젝트 #3] Selenium으로 티스토리 완전 정복

 

안녕하세요! 블로그 자동 포스팅 봇 만들기, 그 세 번째 시간입니다.

지난 2편(다시보기)에서는 Gemini AI를 이용해 블로그 글을 자동으로 생성하는 방법을 알아봤습니다.

 

오늘은 드디어 이 글을 우리 대신 티스토리에 올려줄 "자동화 매니저"를 만들어 볼 차례입니다.

웹 브라우저를 로봇처럼 조종하는 마법 같은 도구, Selenium을 이용해 로그인부터 글 발행까지 모든 과정을 자동화하는 핵심 비법을 알려드릴게요!

1. Selenium 준비하기

먼저 우리를 대신해 웹서핑을 해줄 로봇을 설치해야 합니다. 딱 두 가지 라이브러리만 설치하면 준비는 끝납니다.

구분 명령어 설명
핵심 라이브러리 pip install selenium Python 코드로 웹 브라우저를 제어하는 데 필요한 모든 기능
드라이버 관리 pip install webdriver-manager 복잡한 드라이버 설정을 알아서 처리해주는 고마운 도구

 

💡 WebDriver란?
Selenium이 크롬, 엣지 같은 웹 브라우저와 "대화"하기 위해 필요한 통역사 같은 프로그램입니다.
예전에는 브라우저 버전이 업데이트될 때마다 이 통역사도 수동으로 교체해 줘야 해서 무척 번거로웠죠.
하지만 webdriver-manager가 이 모든 과정을 자동으로 처리해 준답니다!

2. 티스토리 로그인 자동화

가장 기본이면서도 중요한 단계는 바로 로그인입니다.

.env 파일에 티스토리 계정 정보를 추가하고, Selenium이 아이디와 비밀번호를 입력하여 로그인 버튼을 누르도록 코드를 작성해 봅시다.

 

 # .env 파일에 아래 내용을 추가하세요

 TISTORY_ID="your-tistory-id"
 TISTORY_PW="your-tistory-password"

 

이제 아래 Python 코드로 로그인을 자동화할 수 있습니다.

1 import os
2 import time
3 from dotenv import load_dotenv
4 from selenium import webdriver
5 from selenium.webdriver.chrome.service import Service
6 from selenium.webdriver.common.by import By
7 from webdriver_manager.chrome import ChromeDriverManager
8
9 # .env 파일에서 계정 정보 불러오기
10 load_dotenv()
11 TISTORY_ID = os.getenv("TISTORY_ID")
12 TISTORY_PW = os.getenv("TISTORY_PW")
13
14 # Selenium WebDriver 설정
15 service = Service(ChromeDriverManager().install())
16 driver = webdriver.Chrome(service=service)
17
18 try:
19 # 1. 티스토리 관리 페이지로 이동
20 driver.get("https://sporg.tistory.com/manage")
21 time.sleep(2) # 페이지 로딩 대기
22
23 # 2. 로그인 페이지라면, 로그인 절차 진행
24 if "login" in driver.current_url:
25 # '로그인' 버튼 클릭
26 driver.find_element(By.CLASS_NAME, "btn_login").click()
27
28 # 아이디 입력
29 driver.find_element(By.ID, "loginId--1"
).send_keys(TISTORY_ID)
30
31 # 비밀번호 입력
32 driver.find_element(By.ID, "password--2"
).send_keys(TISTORY_PW)
33
34 # '로그인' 버튼 클릭
35 driver.find_element(By.CLASS_NAME, "btn_g").click()
36
37 time.sleep(5) # 로그인 완료 및 페이지 전환 대기
38
39 print("✅ 로그인 성공! 관리 페이지로 이동했습니다." )
40
41 finally:
42 # 작업이 끝나면 브라우저 종료
43 driver.quit()

 

3. 글쓰기 및 발행 자동화

로그인에 성공했다면, 이제 글을 쓰고 발행하는 것은 식은 죽 먹기입니다. 하지만 티스토리의 글쓰기 에디터는 생각보다 까다로워서, 몇 가지 특별한 기술이 필요합니다.

[핵심 기술]

  1. iframe 전환:
    티스토리 에디터는 iframe이라는 별도의 액자 안에 들어있습니다. 글을 쓰려면 먼저 이 액자 안으로 들어가야 합니다.

  2. 클립보드 복사/붙여넣기:
    에디터에 이미지를 가장 확실하게 넣는 방법은, 이미지 파일을 클립보드에 "복사"한 후, 에디터에 "붙여넣기(Ctrl+V)" 신호를 보내는 것입니다.

  3. HTML 모드 전환:
    텍스트와 이미지 코드를 최종적으로 조합하기 위해, '기본모드'에서 'HTML' 모드로 전환하는 과정이 필요합니다.

  4. ActionChains:
    키보드 입력(" ", Enter)을 시뮬레이션하여, 에디터가 "글 내용이 변경되었다"고 확실히 인식하게 만듭니다.

 

이 모든 기술을 종합하면, 글쓰기와 발행을 자동화하는 코드가 완성됩니다. (전체 코드는 시리즈의 마지막에 최종 버전으로 공유될 예정입니다!)

다음 이야기

자, 이제 우리에게는 AI 작가와 자동화 매니저가 모두 생겼습니다. 하지만 매번 코드를 직접 실행하는 것은 여전히 번거롭죠.

다음 포스팅에서는 Flask를 이용해 이 모든 과정을 마우스 클릭 한 번으로 실행할 수 있는 멋진 웹 UI를 만들어 보겠습니다.

 

 

반응형
쿠팡 광고 배너

※ 위 배너는 쿠팡 파트너스 활동의 일환으로 이에 따른 일정액의 수수료를 제공받습니다