프로젝트 실행 과정
박정기 파트너님이 소스 제공해주신 ‘웹자동화 포스팅’ 코드 실행해보기
블로그 원고 준비 (오픈API or Gpts활용 중 고민)
원고 텍스트 ‘웹자동화’로 붙여넣기 시도
이미지 삽입 방안 고민
웹자동화 포스팅 파이썬 코드 실행해보기
몇 번의 시도 끝에 셀레니움을 활용하여 네이버 로그인과 임시저장 성공
gpt를 통해 어떤 라이브러리가 사용됐는지 조사하며 큰 흐름만이라도 이해해보려고 함.
tkinter: 로그인 인터페이스 구축을 위해 사용.
pyperclip: 텍스트 복사, 붙여넣기에 사용.
pyautogui: 마우스, 키보드 자동화에 사용.
블로그 원고 준비
아직 초보이니 비용이 안드는 Gpts를 활용하기로 함.
주제는 여행 컨텐츠로 자동화할 수 있는 내용이 어떤게 있을까 고민함.
‘여행지에 대한 정보’와 ‘여행 준비물’ 등 정보 제공 컨텐츠를 주제로 정함.
여행 플레이스 정보를 제공하는 구글맵api나 아마데우스api를 가입하여 탐색.
↓ 이런식으로 정보를 제공합니다. (아마데우스api) /
한계점: 무료 계정은 파리, 미국 달라스 등 일부 지역만 조회 가능
받은 데이터를 바탕으로 Gpts를 활용하여 원고 작성.
원하는 원고가 나올 때까지 수정을 반복. 2개 원고를 비교 제시하는 경우도 있네 요.
완성된 원고를 메모장에 저장해달라고 요청했는데 계속 오류가 발생하여 수동으로 복/붙으로 저장.
원고 텍스트 ‘웹자동화’로 붙여넣기 시도
제목과 본문을 어떻게 분리하여 블로그 작성창에 넣을까 고민하다가
파일명 → ‘제목(title)’, 파일 내용 → ‘본문 내용(content)’에 넣어보기로 함.
def read_file(file_path):
title = os.path.splitext(os.path.basename(file_path))[0]
try:
with open(file_path, 'r', encoding='utf-8') as file:
content = file.read()
except FileNotFoundError:
print(f"File not found: {file_path}")
return None, None
return title, content
def post_blog(driver, file_path):
title, content = read_file(file_path)
if title is None or content is None:
print("Error reading file. Exiting...")
return
import os 라이브러리를 활용하여 title은 파일명, content는 파일 내용으로 정의
이후 pyperclip.copy와 pyautogui.hotkey를 이용해 title과 content를 입력.
title_field = driver.find_element(By.XPATH, '/html/body/div[1]/div/div[3]/div/div/div[1]/div/div[1]/div[2]/section/article/div[1]/div[1]/div/div/p')
title_field.click()
time.sleep(1)
pyperclip.copy(title)
pyautogui.hotkey('ctrl', 'v')
time.sleep(1)
content_field = driver.find_element(By.XPATH, '/html/body/div[1]/div/div[3]/div/div/div[1]/div/div[1]/div[2]/section/article/div[2]/div/div/div/div/p/span[2]')
content_field.click()
time.sleep(1)
pyperclip.copy(content)
pyautogui.hotkey('ctrl', 'v')
time.sleep(1)
임시저장까지는 성공했으나, 마크다운 형식 수정과 태그 삽입 방안 등 난관에 봉착.
→ 일단 스킵
이미지 삽입 방안 고민
네이버 블로그 글감의 무료 이미지를 활용해보기로 함.
셀레니움 노가다를 통해 검색어를 입력하면 이미지를 넣는 것까지는 구현
나머지는 수동으로 작업하여 완성해봤습니다. ( 링크 )
추후 과제
마크다운 형식의 글을 어떻게 네이버 블로그에 반영할 것인가.
태그 삽입 자동화를 어떻게 할 것인가.
이미지와 글을 어떻게 함께 넣을 것인가.
api에서 끌고 온 여행 플레이스 정보가 부정확한 경우가 있어 확인이 필요함.
느낀점
어떤 주제가 자동화에 적합한지 끊임없이 고민하게 됐습니다. 과연 자동화된 글이 읽힐까라는 생각과 좋은 글을 얻기 위한 프롬포트 과정이 쉽지 않다는 것을 깨달았습니다.
과제 수행하면서 보니 자동화 비율보다 수동화 비율이 높았네요. 역시 세상에는 쉬운 일이 없네요.
#문과생도AI, #9기