import requests import logging from datetime import datetime from config import * from modules.alert import send_telegram # 네이버 쇼핑 트렌드 분석 def get_shopping_trend(keyword): try: url = "https://openapi.naver.com/v1/datalab/shopping/categories" headers = { "X-Naver-Client-Id": NAVER_CLIENT_ID, "X-Naver-Client-Secret": NAVER_CLIENT_SECRET, "Content-Type": "application/json" } now = datetime.now() start_date = f"{now.year}-{now.month:02d}-01" end_date = f"{now.year}-{now.month:02d}-{now.day:02d}" data = { "startDate": start_date, "endDate": end_date, "timeUnit": "date", "category": [{"name": keyword, "param": [keyword]}] } response = requests.post(url, headers=headers, json=data) return response.json() except Exception as e: logging.error(f"트렌드 분석 오류: {e}") return None # 시즌 키워드 반환 def get_season_keywords(): month = datetime.now().month if month in [3, 4, 5]: return ["봄", "캠핑", "소풍", "봄맞이", "청소"] elif month in [6, 7, 8]: return ["여름", "캠핑", "냉감", "수납", "청소"] elif month in [9, 10, 11]: return ["가을", "캠핑", "수납", "정리", "청소"] else: return ["겨울", "난방", "수납", "정리", "청소"] # 트렌드 상품 추천 def recommend_trend_products(): try: keywords = get_season_keywords() month = datetime.now().month send_telegram( f"📈 이달의 트렌드 키워드\n\n" f"🗓️ {month}월 추천 키워드:\n" f"{chr(10).join([f'→ {k}' for k in keywords])}\n\n" f"이 키워드 관련 상품을 집중 등록하세요!" ) return keywords except Exception as e: logging.error(f"트렌드 추천 오류: {e}") return [] # CS 위험 카테고리 목록 def get_excluded_categories(): return [ "의류", "패션", "신발", "속옷", "수영복", "전자제품", "가전", "식품", "음식", "화장품", "뷰티", "유아", "아동", "장난감", "어린이" ] # 카테고리 검증 def is_safe_category(product_name, category=""): excluded = get_excluded_categories() text = (product_name + category).lower() for exc in excluded: if exc in text: return False return True # 추천 카테고리 목록 def get_recommended_categories(): return [ "주방용품", "생활용품", "문구", "오피스", "반려동물", "캠핑", "레저", "청소용품", "수납", "정리", "욕실", "인테리어" ]