네이버 블로그 자동화 도전기

프로젝트 실행 과정

  • 박정기 파트너님이 소스 제공해주신 ‘웹자동화 포스팅’ 코드 실행해보기

  • 블로그 원고 준비 (오픈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기

3
3개의 답글

👉 이 게시글도 읽어보세요