AI 블로그 자동발행 시스템 구축 (Python, WordPress REST API)

약 4분 읽기

프로젝트 개요

저는 AI 블로그 자동발행 시스템을 구축했습니다. 이 시스템은 OpenAI의 GPT-4o-mini API를 활용하여 자동으로 블로그 글을 작성하고, WordPress REST API를 통해 예약 발행을 합니다. Unsplash에서 자동으로 썸네일을 첨부하고, JSON 파싱 오류를 처리하여 안정성을 높였습니다.

기술 스택

  • Python
  • WordPress REST API
  • OpenAI GPT-4o-mini API
  • n8n
  • JSON

문제와 배경

블로그 운영에 있어 지속적으로 콘텐츠를 생산하는 것이 매우 중요한데, 수작업으로 작성하면 시간과 비용이 많이 소모됩니다. 이에 따라 자동으로 블로그 글을 작성하고 발행할 수 있는 시스템을 구축하여 효율성을 높이고자 했습니다.

설계 결정

처음에는 n8n을 이용해 자동화하려 했으나, 여러 번의 실패 후 Python urllib를 이용해 직접 구현하기로 결정했습니다. Python은 강력한 라이브러리와 API 호출 능력을 제공하며, 제가 원하는 기능을 유연하게 구현할 수 있었습니다.

핵심 구현

아래는 OpenAI API를 호출하여 블로그 글을 생성하는 코드입니다:

import urllib.request
import json

def generate_blog_post(prompt):
    url = "https://api.openai.com/v1/engines/gpt-4o-mini/completions"
    headers = {"Authorization": "Bearer YOUR_API_KEY", "Content-Type": "application/json"}
    data = json.dumps({"prompt": prompt, "max_tokens": 500}).encode('utf-8')
    req = urllib.request.Request(url, data=data, headers=headers)
    with urllib.request.urlopen(req) as response:
        result = json.loads(response.read())
    return result['choices'][0]['text']

다음은 WordPress REST API를 통해 글을 예약 발행하는 코드입니다:

def publish_to_wordpress(title, content):
    url = "https://your-wordpress-site.com/wp-json/wp/v2/posts"
    headers = {"Authorization": "Bearer YOUR_JWT_TOKEN", "Content-Type": "application/json"}
    post_data = {
        "title": title,
        "content": content,
        "status": "future",  # 예약 발행
        "date": "2023-10-10T10:00:00"  # 원하는 발행 시간
    }
    data = json.dumps(post_data).encode('utf-8')
    req = urllib.request.Request(url, data=data, headers=headers)
    with urllib.request.urlopen(req) as response:
        print(response.read())

겪은 문제와 해결

n8n을 사용하면서 여러 번 API 호출에 실패했습니다. 그 원인은 API 키의 권한 문제와 JSON 파싱 오류로, 이를 해결하기 위해 fallback 처리를 추가했습니다. 또한, 토픽에 대한 중복 방지를 위해 MD5 해시를 사용하여 구분했습니다.

결과

이 시스템을 통해 블로그 글을 자동으로 생성하고 발행하는 데 드는 비용이 글당 약 20-30원이었으며, 한 달에 50편의 글을 자동으로 발행하는 성과를 거두었습니다. 기존의 수작업보다 약 80%의 비용 절감과 시간을 단축할 수 있었습니다.

황민

황민 (Hwang Min)

IT·RPA·AI 분야 개발자. 웹앱 개발, UiPath RPA, n8n 자동화 실무 경력 4년. AI·금융·IT 트렌드를 현장 개발자 시각으로 분석합니다.

댓글 남기기

𝕏fin