✅ 다음 단계: Tistory 블로그 자동 업로드 구현
이제 자동 생성된 블로그 글을 Tistory 블로그에 자동으로 업로드하는 기능을 추가할 차례야! 🚀
📌 1. Tistory API 설정 (블로그 업로드 준비)
Tistory API를 사용하려면 OAuth 인증을 통해 access_token을 발급해야 해.
🔹 1-1. Tistory API 설정 페이지에서 애플리케이션 등록
- Tistory Open API 관리 페이지로 이동
- 새 애플리케이션 등록
- 앱 이름: 원하는 이름 입력 (예: AutoBlog)
- 서비스 URL: 본인의 Tistory 블로그 URL 입력 (예: https://yourblog.tistory.com)
- Callback URL: https://yourblog.tistory.com/callback
- 사용 API: 데이터 읽기 & 글쓰기 활성화
- 등록 완료 후 Client ID와 Client Secret을 복사해 둠
🔹 1-2. OAuth 인증을 통한 access_token 발급
Tistory API를 사용하려면 OAuth 인증을 통해 액세스 토큰(access_token)을 발급받아야 해.
📌 웹 브라우저에서 아래 URL을 실행하여 OAuth 인증 요청
https://www.tistory.com/oauth/authorize?client_id=YOUR_CLIENT_ID&redirect_uri=https://yourblog.tistory.com/callback&response_type=code
- 위 URL을 브라우저에서 실행하면 인증 페이지가 나옴
- 승인하면 code 값이 포함된 URL로 리디렉션됨 (예: https://yourblog.tistory.com/callback?code=XXXXX)
- 해당 code 값을 복사하여 아래 API 요청으로 access_token 발급
📌 Python에서 access_token 발급 요청
import requests
CLIENT_ID = "YOUR_CLIENT_ID"
CLIENT_SECRET = "YOUR_CLIENT_SECRET"
REDIRECT_URI = "https://yourblog.tistory.com/callback"
CODE = "YOUR_AUTH_CODE"
token_url = "https://www.tistory.com/oauth/access_token"
params = {
"client_id": CLIENT_ID,
"client_secret": CLIENT_SECRET,
"redirect_uri": REDIRECT_URI,
"code": CODE,
"grant_type": "authorization_code"
}
response = requests.get(token_url, params=params)
access_token = response.text.split("=")[1] # access_token 값 추출
print(f"🔑 발급된 Access Token: {access_token}")
🚀 위 코드를 실행하면 access_token이 발급됨!
이 access_token 값을 저장해 두고, 블로그 업로드할 때 사용하면 돼.
📌 2. Tistory 블로그 자동 업로드 코드
📌 자동 업로드 코드 (tistory_uploader.py)
import requests
# ✅ Tistory API 인증 정보 설정
ACCESS_TOKEN = "YOUR_TISTORY_ACCESS_TOKEN" # 발급받은 access_token 입력
BLOG_NAME = "yourblogname" # Tistory 블로그 이름 (예: 'yourblog')
# ✅ Tistory 블로그 글 자동 업로드 함수
def upload_to_tistory(title, content):
url = "https://www.tistory.com/apis/post/write"
params = {
"access_token": ACCESS_TOKEN,
"output": "json",
"blogName": BLOG_NAME,
"title": title,
"content": content,
"visibility": 3, # 0: 비공개, 1: 보호, 3: 발행
"category": 0 # 원하는 카테고리 ID 입력 (카테고리 없으면 0)
}
response = requests.post(url, data=params)
if response.status_code == 200:
print(f"✅ Tistory 블로그 업로드 완료: {title}")
else:
print(f"❌ 업로드 실패: {response.text}")
# ✅ 자동 생성된 블로그 글 업로드 테스트
if __name__ == "__main__":
title = "테스트 포스트"
content = "
이것은 Tistory API를 사용한 자동 업로드 테스트입니다.
"
upload_to_tistory(title, content)
🚀 위 코드를 실행하면 Tistory 블로그에 자동으로 글이 업로드됨!
📌 3. Google Trends + ChatGPT + Tistory 자동화 연동
이제 Google Trends → ChatGPT 자동 생성 → Tistory 자동 업로드 과정을 한 번에 실행하도록 수정하자.
📌 완성된 자동화 코드 (auto_blog_system.py)
import g4f
import requests
from pytrends.request import TrendReq
# ✅ Tistory API 인증 정보 설정
ACCESS_TOKEN = "YOUR_TISTORY_ACCESS_TOKEN" # 발급받은 access_token 입력
BLOG_NAME = "yourblogname" # Tistory 블로그 이름
# ✅ Google Trends에서 인기 검색어 가져오기
def get_google_trends():
pytrends = TrendReq(hl="ko", tz=540)
trending_searches = pytrends.trending_searches(pn="south_korea")
top_keywords = trending_searches[0].tolist()
return top_keywords[:10] # 상위 10개 키워드 반환
# ✅ 무료 GPT API를 사용하여 블로그 글 생성
def generate_blog_post(keyword):
prompt = f"""
'{keyword}'에 대한 블로그 글을 작성해 주세요.
- **제목을 포함한 블로그 글을 작성해주세요.**
- **소제목 5개 이상**을 포함하고, 각 소제목에 대해 **2~3개의 단락으로 설명**해주세요.
- 해당 주제와 관련된 **실제 사례 또는 예시**를 추가해 주세요.
- 독자의 흥미를 끌 수 있도록 **스토리텔링 기법을 활용**해주세요.
- SEO(검색엔진 최적화)를 고려하여 **키워드를 3~5회 반복**해주세요.
- 내용이 풍부하도록 **최소 1500자 이상의 글**을 작성해 주세요.
"""
response = g4f.ChatCompletion.create(
model="gpt-4",
messages=[{"role": "system", "content": "당신은 블로그 콘텐츠를 전문적으로 작성하는 AI입니다."},
{"role": "user", "content": prompt}],
max_tokens=2000
)
return response
# ✅ Tistory 블로그 글 자동 업로드
def upload_to_tistory(title, content):
url = "https://www.tistory.com/apis/post/write"
params = {
"access_token": ACCESS_TOKEN,
"output": "json",
"blogName": BLOG_NAME,
"title": title,
"content": content,
"visibility": 3
}
response = requests.post(url, data=params)
if response.status_code == 200:
print(f"✅ Tistory 블로그 업로드 완료: {title}")
else:
print(f"❌ 업로드 실패: {response.text}")
# ✅ 실행 자동화 시스템
if __name__ == "__main__":
trends = get_google_trends()
if trends:
print("📌 Google Trends 검색 트렌드:")
for i, keyword in enumerate(trends[:2], 1): # 상위 2개 키워드 사용
print(f"{i}. {keyword}")
# 블로그 글 생성
print(f"\n📝 {keyword}에 대한 블로그 글 생성 중...")
blog_post = generate_blog_post(keyword)
# 블로그 자동 업로드
upload_to_tistory(f"{keyword}에 대한 블로그 글", blog_post)
else:
print("❌ 데이터를 가져오지 못했습니다.")
🎯 결론
✔ Google Trends → ChatGPT 자동 생성 → Tistory 블로그 자동 업로드 완성!
✔ 매일 자동으로 인기 키워드를 분석하고, 블로그 글을 작성 후 업로드 가능!
✔ 완벽한 자동 블로그 시스템을 구축 완료! 🚀
🚀 이제 위 코드를 실행해서 자동으로 블로그 글이 업로드되는지 확인해 봐! 😊
🎯 현재 방법 모색 중
✔ 현재 Tistory Open API가 2024년 이후로 서비스 종료
✔ Selenium을 이용한 로그인 방법 모색, 불가능 (로그인 후 쿠키로 접근, Chrome 계정으로 접근)
✔ 관련 방법 찾은 후 재업로드 예정
'컴퓨터공학' 카테고리의 다른 글
[2025 최신] Tistory 블로그 자동화 시스템 구축 - 3 (0) | 2025.02.20 |
---|---|
[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 |