반응형
구글 시트에서 주제를 입력하고, 챗GPT를 사용해 블로그 콘텐츠를 생성하여 자동으로 발행하는 파이썬 코드를 구현하는 방법은 다음과 같습니다. 여기서는 Google Sheets API, OpenAI API, 그리고 WordPress API를 사용합니다.
필요 조건
- Google Sheets API와 OpenAI API 키
- WordPress API 액세스 토큰
- 파이썬 설치 및 필요한 라이브러리 설치
pip install gspread oauth2client openai requests
단계별 구현
- Google Sheets 설정:
- Google Sheets API를 활성화하고 인증 정보를 다운로드합니다.
credentials.json
파일을 다운로드 받아 프로젝트 폴더에 저장합니다.
- OpenAI API 설정:
- OpenAI API 키를 얻습니다.
- 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}")
코드 설명
- Google Sheets에서 블로그 주제를 가져옵니다.
- OpenAI의 GPT-3를 사용하여 블로그 콘텐츠를 생성합니다.
- WordPress API를 통해 자동으로 블로그 게시물을 발행합니다.
이 코드는 Google Sheets, OpenAI, WordPress API 설정을 사전에 완료해야 하며, 실제 사용 시 보안 문제를 고려하여 API 키와 비밀번호를 안전하게 관리해야 합니다.
반응형