반응형
🚀 3단계: ChatGPT를 이용한 블로그 글 자동 작성
이제 네이버 데이터랩에서 가져온 실시간 트렌드 키워드를 활용해서 ChatGPT를 이용해 자동으로 블로그 글을 생성하는 코드를 작성해보자.
📌 3-1. OpenAI API 키 발급받기
이 단계에서는 ChatGPT API를 사용해서 블로그 글을 자동 생성할 거야.
이를 위해 OpenAI API 키가 필요해.
✅ OpenAI API 키 발급받는 방법
- OpenAI 개발자 센터에 가입 후 로그인.
- API Keys 페이지로 이동.
- 새로운 API 키(Secret Key) 생성 후 복사해서 안전한 곳에 저장.
📌 3-2. 필수 라이브러리 설치
ChatGPT API를 사용하려면 openai 라이브러리가 필요해.
아래 명령어를 실행해서 설치하자.
pip install openai
📌 3-3. ChatGPT를 이용한 블로그 글 자동 생성 코드
이제 ChatGPT API를 활용해서 네이버 데이터랩에서 가져온 키워드로 블로그 글을 자동 생성하는 코드를 작성해보자.
📌 수정된 코드 (auto_blog_writer.py)
반응형
import openai
import requests
import json
from datetime import datetime, timedelta
from bs4 import BeautifulSoup
# ✅ OpenAI API Key 설정
OPENAI_API_KEY = "YOUR_OPENAI_API_KEY" # OpenAI에서 발급받은 API 키 입력
openai.api_key = OPENAI_API_KEY
# ✅ 네이버 API 인증 정보
CLIENT_ID = "YOUR_NAVER_CLIENT_ID"
CLIENT_SECRET = "YOUR_NAVER_CLIENT_SECRET"
# ✅ 네이버 데이터랩 API URL
NAVER_DATALAB_URL = "https://openapi.naver.com/v1/datalab/search"
# ✅ 오늘 날짜 자동 설정
today = datetime.today().strftime("%Y-%m-%d")
one_week_ago = (datetime.today() - timedelta(days=7)).strftime("%Y-%m-%d")
# ✅ 네이버 실시간 검색어 크롤링
def get_naver_real_time_keywords():
url = "https://www.naver.com/"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
}
try:
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, "html.parser")
# 실시간 검색어 요소 추출 (네이버 구조 변경 가능)
keywords = soup.select(".ah_l .ah_k")
popular_keywords = [keyword.text.strip() for keyword in keywords]
if not popular_keywords:
raise ValueError("네이버 검색어를 가져오지 못했습니다.")
return popular_keywords[:10] # 상위 10개 검색어 반환
except Exception as e:
print(f"⚠ 네이버 실시간 검색어 크롤링 실패: {e}")
return ["손흥민", "로또", "넷플릭스", "삼성전자", "아이폰", "KBO", "챔피언스리그", "날씨", "환율", "비트코인"]
# ✅ 네이버 데이터랩 API 요청
def get_naver_trends():
headers = {
"X-Naver-Client-Id": CLIENT_ID,
"X-Naver-Client-Secret": CLIENT_SECRET,
"Content-Type": "application/json",
}
# 🔥 실시간 검색어 반영 🔥
popular_keywords = get_naver_real_time_keywords()
payload = {
"startDate": one_week_ago,
"endDate": today,
"timeUnit": "date",
"keywordGroups": [{"groupName": "트렌드", "keywords": popular_keywords}],
"device": "pc",
"ages": ["3", "4", "5", "6"],
"gender": "",
}
response = requests.post(NAVER_DATALAB_URL, headers=headers, data=json.dumps(payload))
if response.status_code == 200:
result = response.json()
keyword_trends = result.get("results", [])[0].get("data", [])
sorted_keywords = sorted(keyword_trends, key=lambda x: x["ratio"], reverse=True)
top_keywords = [popular_keywords[i] for i in range(len(sorted_keywords)) if i < 10]
return top_keywords
else:
print(f"❌ 네이버 데이터랩 API 요청 실패: {response.status_code}, {response.text}")
return None
# ✅ ChatGPT를 이용한 블로그 글 자동 생성
def generate_blog_post(keyword):
prompt = f"""
{keyword}에 대한 블로그 글을 작성해 주세요.
1. 제목을 포함한 구조로 작성해 주세요.
2. 제목은 흥미를 끄는 문장으로 만들어 주세요.
3. 3~4개의 소제목과 내용을 포함해 주세요.
4. 자연스럽고 가독성이 높은 문체로 작성해 주세요.
"""
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "system", "content": "당신은 블로그 콘텐츠를 전문적으로 작성하는 AI입니다."},
{"role": "user", "content": prompt}],
max_tokens=1000
)
return response["choices"][0]["message"]["content"].strip()
# ✅ 실행 테스트
if __name__ == "__main__":
trends = get_naver_trends()
if trends:
print("📌 네이버 데이터랩 검색 트렌드:")
for i, keyword in enumerate(trends, 1):
print(f"{i}. {keyword}")
# ✅ ChatGPT를 이용해 상위 2개 키워드로 블로그 글 생성
for keyword in trends[:2]: # 상위 2개 키워드만 글 생성
print(f"\n📝 {keyword}에 대한 블로그 글 생성 중...")
blog_post = generate_blog_post(keyword)
print(blog_post)
else:
print("❌ 데이터를 가져오지 못했습니다.")
✅ 변경된 점
- 네이버 실시간 검색어 → 데이터랩 API 활용 → 검색 트렌드 분석
- 실시간 검색어를 활용하여 트렌드 키워드를 자동으로 가져옴.
- ChatGPT가 가장 인기 있는 키워드 2개를 선택해서 블로그 글을 자동으로 생성.
- ChatGPT를 활용한 블로그 글 자동 작성 추가
- generate_blog_post(keyword) 함수를 추가하여 ChatGPT가 자동으로 블로그 글을 생성.
- 최대 1000자(토큰)까지 생성 가능.
- 최신 트렌드를 반영하여 블로그 콘텐츠 자동 생성
- 매일 새로운 키워드로 글을 자동으로 생성할 수 있도록 개선.
✅ 테스트 방법
- 파일 저장 (auto_blog_writer.py)
- 터미널에서 실행
python auto_blog_writer.py
- 출력 예시
📌 네이버 데이터랩 검색 트렌드: 1. 손흥민 경기 일정 2. 넷플릭스 신작 3. 삼성전자 주가 4. 로또 당첨 번호 5. 챔피언스리그 16강 대진표 ... 📝 손흥민 경기 일정에 대한 블로그 글 생성 중... [ChatGPT가 생성한 블로그 글 출력] 📝 넷플릭스 신작에 대한 블로그 글 생성 중... [ChatGPT가 생성한 블로그 글 출력]
🎯 결론
✅ 이제 ChatGPT가 실시간 트렌드 키워드로 블로그 글을 자동으로 생성할 수 있어!
✅ 매일 바뀌는 트렌드 키워드로 최신 블로그 글을 생성하는 자동화 시스템 완성!
✅ 이제 실행해서 블로그 글이 정상적으로 생성되는지 확인해 봐! 🚀
반응형
'컴퓨터공학' 카테고리의 다른 글
[2025 최신] Tistory 블로그 자동화 시스템 구축 - 4 (1) | 2025.02.21 |
---|---|
[2025 최신] Tistory 블로그 자동화 시스템 구축 - 2 (0) | 2025.02.20 |
[2025 최신] Tistory 블로그 자동화 시스템 구축 - 1 (0) | 2025.02.19 |
[2025 최신] Tistory 블로그 자동화 시스템 구축 (0) | 2025.02.19 |
[2025 최신] 개발자의 생산성을 높이는 최고의 습관 10가지 (0) | 2025.02.15 |