본문 바로가기

파이썬 학습 과정/생활속의 파이썬_응용편

"초고속 블로깅 비법: 시트에서 GPT로! 클릭 한 번에 발행 완료"

반응형

구글 시트에서 주제를 입력하고, 챗GPT를 사용해 블로그 콘텐츠를 생성하여 자동으로 발행하는 파이썬 코드를 구현하는 방법은 다음과 같습니다. 여기서는 Google Sheets API, OpenAI API, 그리고 WordPress API를 사용합니다.

블로그 콘텐츠를 만들고 게시하는 자동화 과정을 표현한 이미지

필요 조건

  1. Google Sheets APIOpenAI API
  2. WordPress API 액세스 토큰
  3. 파이썬 설치 및 필요한 라이브러리 설치
pip install gspread oauth2client openai requests

단계별 구현

  1. Google Sheets 설정:
    • Google Sheets API를 활성화하고 인증 정보를 다운로드합니다.
    • credentials.json 파일을 다운로드 받아 프로젝트 폴더에 저장합니다.
  2. OpenAI API 설정:
    • OpenAI API 키를 얻습니다.
  3. WordPress API 설정:
    • WordPress 사이트에서 애플리케이션 비밀번호를 생성하여 API 액세스를 설정합니다.

파이썬 코드


import gspread
from oauth2client.service_account import ServiceAccountCredentials
import openai
import requests

# 구글 시트 인증 설정
scope = ["https://spreadsheets.google.com/feeds", "https://www.googleapis.com/auth/drive"]
creds = ServiceAccountCredentials.from_json_keyfile_name("credentials.json", scope)
client = gspread.authorize(creds)

# 구글 시트 열기
sheet = client.open("Blog Topics").sheet1

# OpenAI API 키 설정
openai.api_key = 'YOUR_OPENAI_API_KEY'

# WordPress API 설정
wordpress_url = "https://your-wordpress-site.com/wp-json/wp/v2/posts"
wordpress_user = "your-username"
wordpress_password = "your-application-password"

# 구글 시트에서 주제 가져오기
topics = sheet.col_values(1)  # 첫 번째 열에 블로그 주제들이 있다고 가정

# 주제별로 콘텐츠 생성 및 블로그 발행
for topic in topics[1:]:  # 첫 번째 행은 헤더라고 가정
    # 챗GPT를 사용하여 콘텐츠 생성
    response = openai.Completion.create(
        engine="davinci-codex",
        prompt=f"Write a detailed blog post about {topic}.",
        max_tokens=1024
    )
    content = response.choices[0].text.strip()

    # WordPress에 게시물 생성
    post = {
        "title": topic,
        "content": content,
        "status": "publish"
    }

    response = requests.post(
        wordpress_url,
        json=post,
        auth=(wordpress_user, wordpress_password)
    )

    if response.status_code == 201:
        print(f"Successfully posted: {topic}")
    else:
        print(f"Failed to post: {topic}. Error: {response.content}")

코드 설명

  1. Google Sheets에서 블로그 주제를 가져옵니다.
  2. OpenAI의 GPT-3를 사용하여 블로그 콘텐츠를 생성합니다.
  3. WordPress API를 통해 자동으로 블로그 게시물을 발행합니다.

이 코드는 Google Sheets, OpenAI, WordPress API 설정을 사전에 완료해야 하며, 실제 사용 시 보안 문제를 고려하여 API 키와 비밀번호를 안전하게 관리해야 합니다.

반응형