Google 뉴스 RSS를 가져와서, WordPress 블로그에 자동으로 포스팅하는 과정을 정리해 드릴게요.
1️⃣ Python 및 환경 설정
📌 1. Python 설치
Mac에서는 기본적으로 Python이 설치되어 있지만, 최신 버전이 필요할 수도 있습니다.
brew install python
설치 후 버전을 확인하세요.
python3 --version
출력 예시: Python 3.13.1
(3.6 이상이면 OK)
📌 2. 가상 환경(venv) 설정
가상 환경을 만들어 프로젝트를 격리하는 것이 좋습니다.
mkdir rss_to_blog
cd rss_to_blog
python3 -m venv venv
source venv/bin/activate # 가상 환경 활성화
source venv/bin/activate를 실행하면 (venv)가 터미널 앞에 붙어야 합니다.
📌 3. 필요한 패키지 설치
pip install feedparser requests
• feedparser → RSS 피드를 가져오기 위한 라이브러리
• requests → WordPress API 호출을 위한 HTTP 라이브러리
2️⃣ Google 뉴스 RSS 가져오기
Python 코드로 Google 뉴스 RSS를 가져와봅니다.
📌 Google 뉴스 RSS URL 예시
import requests
import feedparser
rss_url = "https://news.google.com/rss?hl=ko&gl=KR&ceid=KR:ko"
# 브라우저처럼 보이도록 User-Agent 설정
headers = {
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36"
}
# RSS 요청 보내기
response = requests.get(rss_url, headers=headers)
feed = feedparser.parse(response.content)
# RSS 데이터 확인
print("✅ 받아온 뉴스 개수:", len(feed.entries))
for entry in feed.entries[:5]: # 최신 5개 기사 출력
print(f"제목: {entry.title}")
print(f"링크: {entry.link}")
print(f"게시 날짜: {entry.published}")
print("-" * 40)
실행
python3 rss_test.py
✅ 정상 실행되면 최신 뉴스 5개가 출력됩니다.
3️⃣ WordPress API를 이용해 블로그에 자동 포스팅
📌 1. WordPress REST API 설정
WordPress에서 API를 사용하려면 Application Password를 발급받아야 합니다.
1. WordPress 관리자 페이지로 이동 (https://your-wordpress-site.com/wp-admin)
2. 사용자 → 내 프로필 (Users → Your Profile)
3. Application Passwords 섹션에서 새 비밀번호 생성
(예: RSS Auto Poster)
4. 발급된 비밀번호를 저장해 둡니다.
📌 2. WordPress에 자동 포스팅하는 Python 코드
RSS에서 뉴스 데이터를 가져와 WordPress 블로그에 자동으로 게시하는 코드입니다.
import requests
import feedparser
from requests.auth import HTTPBasicAuth
# ✅ Google 뉴스 RSS URL
rss_url = "https://news.google.com/rss?hl=ko&gl=KR&ceid=KR:ko"
# ✅ WordPress REST API 설정
WP_URL = "https://your-wordpress-site.com/wp-json/wp/v2/posts"
WP_USERNAME = "your_username" # WordPress 관리자 계정
WP_APP_PASSWORD = "your_application_password" # 발급받은 비밀번호
# ✅ RSS 요청 보내기
headers = {"User-Agent": "Mozilla/5.0"}
response = requests.get(rss_url, headers=headers)
feed = feedparser.parse(response.content)
# ✅ 최신 뉴스 3개 포스팅
for entry in feed.entries[:3]:
post_title = entry.title
post_content = f"<p><a href='{entry.link}'>기사 원문 보기</a></p>"
# WordPress API 요청 데이터
post_data = {
"title": post_title,
"content": post_content,
"status": "publish" # 'draft'로 하면 검토 후 게시 가능
}
# ✅ WordPress API 요청
wp_response = requests.post(WP_URL, json=post_data, auth=HTTPBasicAuth(WP_USERNAME, WP_APP_PASSWORD))
if wp_response.status_code == 201:
print(f"✅ 게시 성공: {post_title}")
else:
print(f"❌ 게시 실패: {wp_response.text}")
📌 실행
python3 rss_to_wordpress.py
✅ 성공하면 블로그에 뉴스가 자동으로 게시됩니다.
4️⃣ 자동 실행 (스케줄링)
뉴스를 정기적으로 자동 포스팅하려면 cron을 설정합니다.
📌 1. crontab 설정
crontab -e
📌 2. crontab에 추가
매일 오전 9시에 실행하고 싶다면:
0 9 * * * /Users/bigeyes0218/Developments/rss_to_blog/venv/bin/python3 /Users/bigeyes0218/Developments/rss_to_blog/rss_to_wordpress.py
✅ 이제 매일 오전 9시에 Google 뉴스가 자동으로 블로그에 게시됩니다!
🚀 최종 정리
단계 | 설명 |
---|---|
1 | Python 및 가상 환경 설정 (venv) |
2 | feedparser를 이용해 Google 뉴스 RSS 가져오기 |
3 | WordPress REST API를 이용해 자동 포스팅 |
4 | crontab으로 정기 실행 자동화 |
✅ 이제 Python을 이용해 Google 뉴스 → WordPress 블로그 자동 포스팅이 완성되었습니다! 🚀😊