파이썬으로 자동 블로그 포스팅 2
2024-06-23 22:49:19
지난 글에서 자동 블로그 포스팅하는 파이썬 코드를 보여드렸습니다. 챗GPT API를 이용하여 글을 자동 생성하고, 그 글을 포스팅하는 방법을 정리하였습니다. 복붙하시면 되므로 개발자가 아니어도 가능하십니다.
챗GPT로 자동 블로그 포스팅글 생성하기
챗GPT API로 글 생성하는 코드 링크입니다.
글을 생성하기 위해서는 2가지를 입력해줘야합니다.
시스템 메시지 : 너는 파워블로그야. 입력한 주제로 블로그 글을 써줘.
주제 메시지 : 인공지능은 인류를 어떤 세계로 안내할까?
위 내용은 원하시는 내용으로 수정하시면 됩니다.
아래 코드를 코랩에 붙여넣기하고 4군데를 수정하시고 실행하시면 됩니다.
-
YOUR_API_KEY : 챗GPT 회원가입 후 API키를 붙여넣기 합니다.
-
YOUR_DOMAIN : 글을 올리실 워드프레스 도메인입니다.
-
YOUR ADMIN ID : 워드 프레스 관리자 아이디입니다.
-
YOUR PASS WORD : 생성한 비밀번호입니다. (앞 글을 참고하세요.)
실행하면 위 이미지 처럼 입력창이 나옵니다. 여기 시스템 메시지와 주제를 입력하시면 글이 포스팅 됩니다.
AI가 생성한 글은 사이트 점수를 하락시키므로 주의바랍니다.
# 파이썬으로 자동 블로그 포스팅 2
# 필요한 라이브러리 설치
!pip install openai requests
from openai import OpenAI
import requests
from requests.auth import HTTPBasicAuth
import json
# OpenAI API 키 설정
client = OpenAI(api_key="YOUR_API_KEY")
# Function to generate a post using OpenAI
def generate_post(system_context, user_message):
completion = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": system_context},
{"role": "user", "content": user_message}
]
)
return (completion.choices[0].message.content)
# 워드프레스 사이트 URL 및 API 엔드포인트
site_url = "https://www.YOUR_DOMAIN.com/"
api_endpoint = f"{site_url}/wp-json/wp/v2/posts"
# 인증 정보 (사용자명:암호)
username = "YOUR ADMIN ID"
app_password = "YOUR PASS WORD"
# Function to post to WordPress
def post_to_wordpress(title, content, status='private'):
post_data = {
"title": title,
"content": content,
"status": status # 공개는 'public', 비공개는 'private'
}
response = requests.post(api_endpoint,
data=json.dumps(post_data),
headers={'Content-Type': 'application/json'},
auth=HTTPBasicAuth(username, app_password))
return response
# 사용자로부터 입력 받기
system_context = input("Enter the system context: ")
user_message = input("Enter the user message: ")
# 글 생성
generated_post = generate_post(system_context, user_message)
print(generated_post)
# 워드프레스에 포스팅
response = post_to_wordpress(user_message, generated_post)
# 결과 확인
if response.status_code == 201:
print("포스트가 성공적으로 작성되었습니다.")
else:
print("포스트 작성에 실패했습니다.")
print(response.text)
위 과정이 번거로우시면,
아래 링크의 프로그램을 이용하셔도 됩니다.
api-key, id, pw는 저장하지 않으니, 걱정 안하셔도 됩니다.
id/pw는 관리자 계정의 비번입니다.
예고 없이 프로그램 내릴 수 있습니다.