Lala's tower

파이썬으로 자동 블로그 포스팅 2

파이썬으로 자동 블로그 포스팅 2

2024-06-23 22:49:19

지난 글에서 자동 블로그 포스팅하는 파이썬 코드를 보여드렸습니다. 챗GPT API를 이용하여 글을 자동 생성하고, 그 글을 포스팅하는 방법을 정리하였습니다. 복붙하시면 되므로 개발자가 아니어도 가능하십니다.

파이썬으로 자동 블로그 포스팅 코드를 코랩에서 실행한 모습

챗GPT로 자동 블로그 포스팅글 생성하기

챗GPT API로 글 생성하는 코드 링크입니다.
글을 생성하기 위해서는 2가지를 입력해줘야합니다.

시스템 메시지 : 너는 파워블로그야. 입력한 주제로 블로그 글을 써줘.
주제 메시지 : 인공지능은 인류를 어떤 세계로 안내할까?

위 내용은 원하시는 내용으로 수정하시면 됩니다.

아래 코드를 코랩에 붙여넣기하고 4군데를 수정하시고 실행하시면 됩니다.

  1. YOUR_API_KEY : 챗GPT 회원가입 후 API키를 붙여넣기 합니다.

  2. YOUR_DOMAIN : 글을 올리실 워드프레스 도메인입니다.

  3. YOUR ADMIN ID : 워드 프레스 관리자 아이디입니다.

  4. 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는 관리자 계정의 비번입니다.
예고 없이 프로그램 내릴 수 있습니다.

블로그 글 자동 포스팅 프로그램