샤오홍슈 AI 퍼블리셔 완전 가이드: 콘텐츠 생성과 발행 자동화
⏱️ 예상 읽기 시간: 8분
소개
샤오홍슈(小红书, 리틀 레드북 또는 RedNote라고도 불림)는 월간 활성 사용자가 3억 명이 넘는 중국의 가장 영향력 있는 소셜 커머스 플랫폼 중 하나로 성장했습니다. 이 플랫폼에서 입지를 구축하려는 콘텐츠 크리에이터와 마케터들에게 xhs_ai_publisher 프로젝트는 콘텐츠 생성과 발행 워크플로우를 자동화하는 강력한 솔루션을 제공합니다.
이 종합 튜토리얼은 AI 기반 콘텐츠 생성과 셀레니움 기반 RPA(로봇 프로세스 자동화)를 이용한 자동 발행 기능을 결합한 xhs_ai_publisher 도구의 설정과 사용법을 안내해드립니다.
xhs_ai_publisher란 무엇인가?
xhs_ai_publisher는 샤오홍슈를 위한 AI 기반 운영 어시스턴트 역할을 하는 오픈소스 파이썬 프로젝트입니다. 두 가지 주요 구성요소로 이루어져 있습니다:
🤖 AI 콘텐츠 생성
- 자동 콘텐츠 생성: 제목, 설명, 해시태그를 포함한 샤오홍슈 스타일의 게시물 생성
- 이미지 통합: 게시물에 관련된 이미지를 자동으로 선택하고 처리
- 스타일 최적화: 샤오홍슈의 독특한 글쓰기 스타일과 형식 규칙에 맞춘 콘텐츠 보장
🎯 자동 발행
- RPA 자동화: 셀레니움 웹드라이버를 사용하여 사용자 상호작용 시뮬레이션
- 다중 계정 지원: 여러 샤오홍슈 계정을 동시에 관리
- 예약 발행: 시간 지정 및 일괄 발행 기능 지원
- 브라우저 핑거프린팅: 자동화 탐지 방지를 위한 안전 조치 포함
주요 기능과 역량
기능 | 설명 | 이점 |
---|---|---|
🎨 AI 콘텐츠 생성 | 적절한 형식의 매력적인 게시물 생성 | 콘텐츠 생성 시간 절약 |
📱 다중 계정 관리 | 여러 샤오홍슈 계정 처리 | 효율적인 규모 확장 |
🖼️ 자동 이미지 처리 | 스마트 이미지 선택 및 최적화 | 전문적인 시각적 콘텐츠 |
🔒 프록시 지원 | HTTP/HTTPS/SOCKS5 프록시 설정 | 강화된 개인정보 보호와 보안 |
🌐 브라우저 자동화 | 셀레니움 기반 발행 자동화 | 안정적인 게시 워크플로우 |
📊 사용자 관리 시스템 | 종합적인 계정 및 프로필 관리 | 체계적인 운영 |
시스템 요구사항
시작하기 전에 시스템이 다음 요구사항을 충족하는지 확인하세요:
구성요소 | 요구사항 | 권장사항 |
---|---|---|
🐍 Python | 3.8+ | 최신 안정 버전 |
🌐 Chrome 브라우저 | 최신 버전 | 셀레니움 자동화용 |
💾 메모리 | 4GB+ | 8GB+ 권장 |
💿 저장공간 | 2GB+ | 의존성과 데이터용 |
🌍 네트워크 | 안정적인 인터넷 | VPN이 필요할 수 있음 |
설치 가이드
이 프로젝트는 다양한 운영 체제에서 여러 설치 방법을 지원합니다.
🚀 빠른 설치 (권장)
운영 체제에 맞는 적절한 설치 스크립트를 선택하세요:
🍎 macOS 설치
# 1️⃣ 저장소 복제
git clone https://github.com/BetaStreetOmnis/xhs_ai_publisher.git
cd xhs_ai_publisher
# 2️⃣ 설치 스크립트 실행
chmod +x install_mac.sh
./install_mac.sh
# 3️⃣ 애플리케이션 시작
./启动程序.sh
특징:
- ✅ 자동 Python 환경 감지 및 설치
- ✅ Homebrew 설치 (필요시)
- ✅ Apple Silicon과 Intel 칩 모두 지원
- ✅ 완전한 의존성 관리 및 가상 환경 설정
🐧 Linux 설치
# 1️⃣ 저장소 복제
git clone https://github.com/BetaStreetOmnis/xhs_ai_publisher.git
cd xhs_ai_publisher
# 2️⃣ 설치 스크립트 실행
chmod +x install.sh
./install.sh
# 3️⃣ 애플리케이션 시작
./启动程序.sh
지원되는 배포판:
- ✅ Ubuntu/Debian 계열
- ✅ RHEL/CentOS/Rocky Linux
- ✅ Fedora
- ✅ openSUSE/SLES
- ✅ Arch Linux/Manjaro
💻 Windows 설치
# 1️⃣ 저장소 복제
git clone https://github.com/BetaStreetOmnis/xhs_ai_publisher.git
cd xhs_ai_publisher
# 2️⃣ 설치 스크립트 실행
install.bat
# 3️⃣ 애플리케이션 시작
启动程序.bat
요구사항:
- ✅ Windows 10/11
- ✅ 자동 Python 설치 (필요시)
- ✅ 완전한 의존성 관리
🔧 수동 설치 (고급 사용자)
# 1️⃣ 저장소 복제
git clone https://github.com/BetaStreetOmnis/xhs_ai_publisher.git
cd xhs_ai_publisher
# 2️⃣ 가상 환경 생성
python -m venv venv
# 3️⃣ 가상 환경 활성화
# Linux/Mac:
source venv/bin/activate
# Windows:
venv\Scripts\activate
# 4️⃣ 의존성 설치
pip install -r requirements.txt
# 5️⃣ 데이터베이스 초기화 (선택사항)
python init_db.py
# 6️⃣ 애플리케이션 시작
python main.py
설정 구성
🔑 환경 설정
.env
파일을 생성하고 설정하세요:
# AI 설정
OPENAI_API_KEY=your_openai_api_key_here
AI_MODEL=gpt-3.5-turbo
MAX_TOKENS=2000
TEMPERATURE=0.7
# 샤오홍슈 설정
XHS_USERNAME=your_username
XHS_PASSWORD=your_password
# 프록시 설정 (선택사항)
PROXY_TYPE=http
PROXY_HOST=your_proxy_host
PROXY_PORT=your_proxy_port
PROXY_USERNAME=your_proxy_username
PROXY_PASSWORD=your_proxy_password
# 브라우저 설정
HEADLESS_MODE=false
BROWSER_TIMEOUT=30
⚙️ 고급 설정
고급 설정을 위해 config.py
파일을 편집하세요:
# AI 설정
AI_CONFIG = {
"model": "gpt-3.5-turbo",
"max_tokens": 2000,
"temperature": 0.7,
"system_prompt": "당신은 샤오홍슈 콘텐츠 크리에이터입니다..."
}
# 브라우저 설정
BROWSER_CONFIG = {
"headless": False,
"user_agent": "Mozilla/5.0...",
"viewport": {"width": 1920, "height": 1080},
"page_load_timeout": 30
}
# 발행 설정
PUBLISH_CONFIG = {
"auto_publish": False,
"delay_range": [3, 8],
"max_retry": 3,
"screenshot_on_error": True
}
단계별 사용 가이드
1. 🚀 애플리케이션 시작
다음 방법 중 하나를 사용하여 애플리케이션을 실행하세요:
# 방법 1: 시작 스크립트 사용
./启动程序.sh
# 방법 2: 직접 Python 실행
python main.py
# 방법 3: 특정 설정 사용
python main.py --config custom_config.py
2. 👤 사용자 관리
- 사용자 관리 접근: 메인 인터페이스에서 “사용자 관리” 버튼을 클릭
- 새 사용자 추가: 계정 세부사항과 환경설정을 구성
- 프록시 설정: 각 계정에 대한 프록시 설정 구성
- 브라우저 핑거프린팅: 탐지 방지를 위한 고유한 브라우저 핑거프린트 설정
3. 📱 계정 인증
# 인증 플로우 예시
def authenticate_account(phone_number):
"""
샤오홍슈 계정 인증
"""
# 1. 전화번호 입력
driver.find_element(By.ID, "phone").send_keys(phone_number)
# 2. 인증 코드 요청
driver.find_element(By.ID, "send_code").click()
# 3. 인증 코드 입력 (수동 입력 필요)
verification_code = input("인증 코드를 입력하세요: ")
driver.find_element(By.ID, "code").send_keys(verification_code)
# 4. 제출 및 세션 저장
driver.find_element(By.ID, "login").click()
return True
4. ✍️ 콘텐츠 생성 워크플로우
자동 콘텐츠 생성
# 콘텐츠 생성 예시
def generate_content(topic):
"""
샤오홍슈 스타일 콘텐츠 생성
"""
prompt = f"""
다음 주제에 대한 샤오홍슈 게시물을 작성하세요: {topic}
요구사항:
- 이모지가 포함된 매력적인 제목
- 200-300자 설명
- 5-8개의 관련 해시태그
- 샤오홍슈 글쓰기 스타일
"""
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": prompt}],
max_tokens=2000,
temperature=0.7
)
return response.choices[0].message.content
수동 콘텐츠 입력
- 주제 입력: 메인 입력 필드에 원하는 주제를 입력
- 콘텐츠 생성: “콘텐츠 생성” 버튼을 클릭
- 검토 및 편집: AI가 생성한 콘텐츠를 검토하고 조정
- 이미지 선택: 관련 이미지를 선택하거나 업로드
5. 🖼️ 이미지 관리
이 도구는 포괄적인 이미지 처리 기능을 제공합니다:
# 이미지 처리 예시
def process_images(topic, num_images=3):
"""
샤오홍슈용 이미지 처리 및 최적화
"""
# 1. 관련 이미지 검색
images = search_stock_images(topic)
# 2. 크기 조정 및 최적화
processed_images = []
for img in images[:num_images]:
# 샤오홍슈 최적 치수: 3:4 비율
resized = img.resize((750, 1000))
processed_images.append(resized)
# 3. 필요시 워터마크나 필터 추가
return processed_images
6. 📤 발행 프로세스
자동 발행
def publish_post(title, content, images, hashtags):
"""
샤오홍슈에 게시물 자동 발행
"""
try:
# 1. 게시물 작성 페이지로 이동
driver.get("https://creator.xiaohongshu.com/publish/publish")
# 2. 이미지 업로드
for img_path in images:
upload_element = driver.find_element(By.CSS_SELECTOR, "input[type='file']")
upload_element.send_keys(img_path)
time.sleep(2)
# 3. 제목과 콘텐츠 추가
title_field = driver.find_element(By.CSS_SELECTOR, "input[placeholder*='title']")
title_field.send_keys(title)
content_field = driver.find_element(By.CSS_SELECTOR, "textarea")
content_field.send_keys(f"{content}\n\n{' '.join(hashtags)}")
# 4. 발행
publish_button = driver.find_element(By.CSS_SELECTOR, "button[data-testid='publish']")
publish_button.click()
return True
except Exception as e:
logger.error(f"발행 실패: {e}")
return False
예약 발행
def schedule_post(content, publish_time):
"""
미래 발행을 위한 게시물 예약
"""
scheduler = BackgroundScheduler()
scheduler.add_job(
func=publish_post,
trigger="date",
run_date=publish_time,
args=[content['title'], content['text'], content['images'], content['hashtags']]
)
scheduler.start()
고급 기능
🔒 프록시 설정
강화된 보안을 위한 다양한 프록시 유형 설정:
# 프록시 설정 예시
PROXY_CONFIGS = {
"http": {
"proxy_type": "http",
"host": "proxy.example.com",
"port": 8080,
"username": "user",
"password": "pass"
},
"socks5": {
"proxy_type": "socks5",
"host": "socks.example.com",
"port": 1080
}
}
def setup_proxy(driver, config):
"""브라우저 세션용 프록시 설정"""
proxy = Proxy()
proxy.proxy_type = ProxyType.MANUAL
proxy.http_proxy = f"{config['host']}:{config['port']}"
proxy.ssl_proxy = f"{config['host']}:{config['port']}"
capabilities = webdriver.DesiredCapabilities.CHROME
proxy.add_to_capabilities(capabilities)
return capabilities
🔍 탐지 방지 조치
브라우저 핑거프린팅과 행동 무작위화 구현:
def setup_stealth_browser():
"""스텔스 작업용 브라우저 설정"""
options = webdriver.ChromeOptions()
# 자동화 플래그 비활성화
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
# 무작위 사용자 에이전트
options.add_argument(f"--user-agent={get_random_user_agent()}")
# 무작위 뷰포트
viewport = get_random_viewport()
options.add_argument(f"--window-size={viewport['width']},{viewport['height']}")
driver = webdriver.Chrome(options=options)
# 스텔스 스크립트 실행
driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})")
return driver
📊 분석 및 모니터링
게시물 성과와 시스템 상태 추적:
def track_post_performance(post_id):
"""게시물 참여 지표 모니터링"""
metrics = {
"views": 0,
"likes": 0,
"comments": 0,
"shares": 0,
"timestamp": datetime.now()
}
# 게시물 페이지에서 지표 스크래핑
driver.get(f"https://xiaohongshu.com/explore/{post_id}")
try:
likes = driver.find_element(By.CSS_SELECTOR, "[data-testid='like-count']").text
metrics["likes"] = int(likes.replace("k", "000") if "k" in likes else likes)
except:
pass
# 데이터베이스에 저장
save_metrics(post_id, metrics)
return metrics
문제 해결 가이드
일반적인 문제와 해결책
1. 🚫 로그인 문제
문제: 샤오홍슈 계정으로 인증할 수 없음
해결책:
def fix_login_issues():
"""일반적인 로그인 문제 해결 단계"""
steps = [
"1. 브라우저 캐시와 쿠키 지우기",
"2. Chrome 브라우저를 최신 버전으로 업데이트",
"3. 프록시 설정 확인",
"4. 전화번호 형식 확인",
"5. 다른 사용자 에이전트 문자열 사용",
"6. 수동 캡차 해결 활성화"
]
return steps
2. 🖼️ 이미지 업로드 실패
문제: 이미지 업로드 또는 처리 실패
해결책:
def fix_image_issues():
"""이미지 문제 해결 체크리스트"""
checks = [
"이미지 형식 확인 (JPG, PNG 지원)",
"이미지 크기 확인 (최대 10MB)",
"적절한 화면 비율 보장 (3:4 권장)",
"이미지 치수 검증 (최소 750px 너비)",
"사용 가능한 디스크 공간 확인",
"네트워크 연결 확인"
]
return checks
3. 🔄 자동화 탐지
문제: 샤오홍슈가 자동화를 탐지함
해결책:
def avoid_detection():
"""탐지 방지 모범 사례"""
practices = [
"주거용 프록시 사용",
"작업 간 시간 무작위화",
"인간과 같은 마우스 움직임 구현",
"사용자 에이전트 정기 교체",
"게시 빈도 제한",
"다른 브라우저 핑거프린트 사용"
]
return practices
모범 사례와 팁
📝 콘텐츠 생성 모범 사례
- 샤오홍슈 문화 이해: 트렌딩 주제와 인기 형식 연구
- 적절한 해시태그 사용: 더 나은 검색가능성을 위해 5-8개의 관련 해시태그 포함
- 이미지 품질 최적화: 적절한 조명의 고해상도 이미지 사용
- 일관성 유지: 청중 참여를 구축하기 위해 정기적으로 게시
- 트렌드 모니터링: 플랫폼 알고리즘 변화에 대한 최신 정보 유지
🔒 보안 고려사항
# 보안 체크리스트
SECURITY_CHECKLIST = {
"계정_안전": [
"강력하고 고유한 비밀번호 사용",
"이중 인증 활성화",
"접근 자격증명 정기 교체",
"계정 활동 로그 모니터링"
],
"자동화_안전": [
"속도 제한 구현",
"고품질 프록시 사용",
"자동화 패턴 무작위화",
"플랫폼 정책 변화 모니터링"
],
"데이터_보호": [
"민감한 설정 암호화",
"API 키 적절히 보안",
"접근 제어 구현",
"정기 백업 절차"
]
}
성능 최적화
⚡ 속도 최적화
def optimize_performance():
"""성능 최적화 기법"""
optimizations = {
"병렬_처리": "다중 계정을 위한 스레딩 사용",
"캐시_관리": "이미지와 콘텐츠를 위한 지능적 캐싱 구현",
"리소스_풀링": "가능할 때 브라우저 인스턴스 재사용",
"데이터베이스_최적화": "자주 쿼리되는 필드 인덱싱",
"메모리_관리": "사용하지 않는 객체의 정기적 정리"
}
return optimizations
📊 모니터링과 로깅
import logging
from datetime import datetime
def setup_logging():
"""포괄적인 로깅 설정"""
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
handlers=[
logging.FileHandler(f'xhs_publisher_{datetime.now().strftime("%Y%m%d")}.log'),
logging.StreamHandler()
]
)
# 전문 로거 생성
automation_logger = logging.getLogger('automation')
content_logger = logging.getLogger('content_generation')
error_logger = logging.getLogger('errors')
return {
'automation': automation_logger,
'content': content_logger,
'errors': error_logger
}
향후 로드맵과 업데이트
xhs_ai_publisher 프로젝트는 계획된 개선사항과 함께 계속 발전하고 있습니다:
🚀 향후 기능
- ✅ 기본 기능: 콘텐츠 생성 및 발행 (완료)
- ✅ 사용자 관리: 다중 계정 지원 (완료)
- ✅ 프록시 설정: 네트워크 프록시 지원 (완료)
- 🔄 콘텐츠 라이브러리: 자료 관리 시스템 (진행 중)
- 🔄 템플릿 라이브러리: 사전 설정 템플릿 시스템 (진행 중)
- 🔄 분석 대시보드: 발행 성과 분석 (계획됨)
- 🔄 API 인터페이스: 오픈 API 엔드포인트 (계획됨)
- 🔄 모바일 지원: 모바일 애플리케이션 (계획됨)
결론
xhs_ai_publisher 도구는 특별히 샤오홍슈 플랫폼에 맞춘 소셜 미디어 자동화의 중요한 발전을 나타냅니다. AI 기반 콘텐츠 생성과 정교한 자동화 기능을 결합하여, 콘텐츠 크리에이터와 마케터들이 품질과 진정성을 유지하면서 운영을 확장할 수 있게 해줍니다.
핵심 요점
- 포괄적인 솔루션: 도구가 생성부터 발행까지 전체 콘텐츠 라이프사이클을 다룸
- 유연한 설정: 다양한 사용 사례를 위한 광범위한 커스터마이제이션 옵션
- 보안 중심: 내장된 탐지 방지 및 보안 조치
- 활발한 개발: 지속적인 개선과 기능 추가
- 커뮤니티 주도: 활발한 기여자 커뮤니티가 있는 오픈소스 프로젝트
시작하기
xhs_ai_publisher로 여정을 시작하려면:
- 도구 설치: 운영 체제에 맞는 설치 가이드를 따르세요
- 설정 구성: AI API 키와 프록시 설정을 구성하세요
- 콘텐츠 생성: 워크플로우를 이해하기 위해 간단한 게시물부터 시작하세요
- 성과 모니터링: 결과를 추적하고 전략을 최적화하세요
- 커뮤니티 참여: 팁과 문제 해결을 위해 다른 사용자들과 소통하세요
워크플로우를 간소화하려는 콘텐츠 크리에이터든 샤오홍슈 존재감을 확장하려는 마케터든, 이 도구는 자동화되고 지능적인 소셜 미디어 관리의 기반을 제공합니다.
📚 추가 리소스:
🌟 도움이 되셨다면 GitHub에서 프로젝트에 별표를 주세요!