From 3591f5bdc2b77ec90d0fbef661d533b1a6ec38d5 Mon Sep 17 00:00:00 2001
From: qiaoyirui0819 <3160533978@qq.com>
Date: Sat, 25 Oct 2025 19:27:07 +0800
Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E8=AF=84=E8=AE=BA=E5=86=85?=
=?UTF-8?q?=E5=AE=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
backend/Timer_worker.py | 172 +-
.../Rankings/drivers/chromedriver.exe | Bin 16772096 -> 17123328 bytes
.../video_ids_7393206265624676386.json | 43 +
.../video_ids_7430120098712520743.json | 123 +
.../video_ids_7472764729748883506.json | 51 +
.../video_ids_7472792051890554918.json | 27 +
.../video_ids_7475575474015209499.json | 123 +
.../video_ids_7475967291851540516.json | 87 +
.../video_ids_7481887799080126514.json | 47 +
.../video_ids_7484936087232596005.json | 79 +
.../video_ids_7486423445933951028.json | 151 +
.../video_ids_7488149189877041178.json | 47 +
.../video_ids_7488155970636351515.json | 143 +
.../video_ids_7498567012075964457.json | 67 +
.../video_ids_7504244771116812300.json | 47 +
.../video_ids_7505982019956901899.json | 155 +
.../video_ids_7506726690928724006.json | 235 +
.../video_ids_7514985066221537331.json | 55 +
.../video_ids_7518025970341185547.json | 83 +
.../video_ids_7525674088921073715.json | 19 +
.../video_ids_7525851121891182632.json | 19 +
.../video_ids_7529584800245254183.json | 55 +
.../video_ids_7533908989583558683.json | 195 +
.../video_ids_7535344671749310527.json | 279 +
.../video_ids_7538319294611621888.json | 55 +
.../video_ids_7540121907586091043.json | 87 +
.../video_ids_7540496302258276362.json | 59 +
.../video_ids_7542848884909803539.json | 335 +
.../video_ids_7546071666771396646.json | 59 +
.../video_ids_7546852679645923366.json | 35 +
.../video_ids_7553983671460448296.json | 283 +
.../video_ids_7554004615847495706.json | 59 +
.../video_ids_7554334029604997172.json | 87 +
.../video_ids_7554913720183294004.json | 23 +
.../video_ids_7555328975485012010.json | 215 +
.../video_ids_7556193073273784355.json | 251 +
.../video_ids_7561020459769153570.json | 115 +
.../handlers/Rankings/rank_data_scraper.py | 1237 +++-
...s_7486805231804681530_20251025_191144.json | 5395 ++++++++++++++++
...s_7487578743611985210_20251025_191509.json | 2521 ++++++++
...s_7520060104645823780_20251025_184532.json | 5719 +++++++++++++++++
backend/handlers/Rankings/tos_client.py | 2 +-
backend/routers/rank_api_routes.py | 3 +-
43 files changed, 18783 insertions(+), 59 deletions(-)
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7393206265624676386.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7430120098712520743.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7472764729748883506.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7472792051890554918.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7475575474015209499.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7475967291851540516.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7481887799080126514.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7484936087232596005.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7486423445933951028.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7488149189877041178.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7488155970636351515.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7498567012075964457.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7504244771116812300.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7505982019956901899.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7506726690928724006.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7514985066221537331.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7518025970341185547.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7525674088921073715.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7525851121891182632.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7529584800245254183.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7533908989583558683.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7535344671749310527.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7538319294611621888.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7540121907586091043.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7540496302258276362.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7542848884909803539.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7546071666771396646.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7546852679645923366.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7553983671460448296.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7554004615847495706.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7554334029604997172.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7554913720183294004.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7555328975485012010.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7556193073273784355.json
create mode 100644 backend/handlers/Rankings/episode_video_ids/video_ids_7561020459769153570.json
create mode 100644 backend/handlers/Rankings/saved_comments/comments_7486805231804681530_20251025_191144.json
create mode 100644 backend/handlers/Rankings/saved_comments/comments_7487578743611985210_20251025_191509.json
create mode 100644 backend/handlers/Rankings/saved_comments/comments_7520060104645823780_20251025_184532.json
diff --git a/backend/Timer_worker.py b/backend/Timer_worker.py
index 3aacde8..0a7c182 100644
--- a/backend/Timer_worker.py
+++ b/backend/Timer_worker.py
@@ -22,8 +22,7 @@ import sys
import os
import logging
import argparse
-from pathlib import Path
-from datetime import datetime, date
+from datetime import datetime, date, timedelta
import config
# 添加项目路径到 Python 路径
@@ -33,34 +32,83 @@ from handlers.Rankings.rank_data_scraper import DouyinPlayVVScraper
# 配置日志的函数
-def setup_logging():
+def setup_logging(quiet_mode=False):
"""设置日志配置"""
# 确保logs目录存在
- import os
script_dir = os.path.dirname(os.path.abspath(__file__))
logs_dir = os.path.join(script_dir, 'handlers', 'Rankings', 'logs')
os.makedirs(logs_dir, exist_ok=True)
+ # 在安静模式下,只记录WARNING及以上级别的日志到控制台
+ console_level = logging.WARNING if quiet_mode else logging.INFO
+
logging.basicConfig(
- level=logging.INFO,
+ level=logging.INFO, # 文件日志仍然记录所有INFO级别
format='%(asctime)s - %(levelname)s - %(message)s',
handlers=[
logging.FileHandler(os.path.join(logs_dir, 'scheduler.log'), encoding='utf-8'),
logging.StreamHandler()
]
)
+
+ # 如果是安静模式,调整控制台处理器的级别
+ if quiet_mode:
+ for handler in logging.getLogger().handlers:
+ if isinstance(handler, logging.StreamHandler) and not isinstance(handler, logging.FileHandler):
+ handler.setLevel(console_level)
class DouyinAutoScheduler:
def __init__(self):
self.is_running = False
+ def _normalize_play_vv(self, play_vv):
+ """标准化播放量数据类型,将字符串转换为数字"""
+ if isinstance(play_vv, str):
+ try:
+ return int(play_vv.replace(',', '').replace('万', '0000').replace('亿', '00000000'))
+ except:
+ return 0
+ elif not isinstance(play_vv, (int, float)):
+ return 0
+ return play_vv
+
+ def _deduplicate_videos_by_mix_name(self, videos, include_rank=False):
+ """按短剧名称去重,保留播放量最高的记录"""
+ unique_data = {}
+ for video in videos:
+ mix_name = video.get("mix_name", "")
+ if mix_name:
+ # 标准化播放量数据类型
+ play_vv = self._normalize_play_vv(video.get("play_vv", 0))
+
+ if mix_name not in unique_data or play_vv > unique_data[mix_name].get("play_vv", 0):
+ if include_rank:
+ # 用于昨天数据的格式
+ unique_data[mix_name] = {
+ "play_vv": play_vv,
+ "video_id": str(video.get("_id", "")),
+ "rank": 0 # 稍后计算排名
+ }
+ else:
+ # 用于今天数据的格式,直接更新原视频对象
+ video["play_vv"] = play_vv
+ unique_data[mix_name] = video
+
+ return unique_data
+
def run_douyin_scraper(self):
"""执行抖音播放量抓取任务"""
try:
- logging.info("🚀 开始执行抖音播放量抓取任务...")
+ logging.warning("🚀 开始执行抖音播放量抓取任务...")
# 设置环境变量,确保自动模式
os.environ['AUTO_CONTINUE'] = '1'
+ # 设置定时器模式环境变量,跳过评论抓取等函数
+ os.environ['TIMER_MODE'] = '1'
+
+ # 只在定时器模式下设置静默模式(非测试、非单次执行、非仅生成榜单)
+ if hasattr(self, '_is_timer_mode') and self._is_timer_mode:
+ os.environ['QUIET_MODE'] = '1'
# 直接创建并运行 DouyinPlayVVScraper 实例
scraper = DouyinPlayVVScraper(
@@ -68,11 +116,11 @@ class DouyinAutoScheduler:
auto_continue=True,
duration_s=60
)
-
- logging.info("📁 开始执行抓取任务...")
+
+ logging.warning("📁 开始执行抓取任务...")
scraper.run()
-
- logging.info("✅ 抖音播放量抓取任务执行成功")
+
+ logging.warning("✅ 抖音播放量抓取任务执行成功")
# 数据抓取完成后,自动生成当日榜单
self.generate_daily_rankings()
@@ -89,7 +137,7 @@ class DouyinAutoScheduler:
from datetime import timedelta
# 获取集合
- douyin_collection = db['Rankings_list'] # 使用真实抓取的数据
+ douyin_collection = db['Ranking_storage_list'] # 使用定时器抓取的数据
rankings_collection = db['Ranking_storage']
today = date.today()
@@ -107,40 +155,58 @@ class DouyinAutoScheduler:
try:
logging.info("🔄 正在生成时间轴对比榜单...")
- # 获取今天的数据,按短剧名称去重,只保留播放量最高的
- today_videos_raw = list(douyin_collection.find({}).sort("play_vv", -1))
+ # 获取最新批次的数据
+ latest_batch = douyin_collection.find_one(sort=[("batch_time", -1)])
+ if not latest_batch:
+ logging.warning("⚠️ 未找到任何数据")
+ return False
+
+ latest_batch_time = latest_batch.get("batch_time")
+ logging.info(f"📊 找到最新批次时间: {latest_batch_time}")
- # 按短剧名称去重,每个短剧只保留播放量最高的一条
- unique_videos = {}
- for video in today_videos_raw:
- mix_name = video.get("mix_name", "")
- if mix_name and (mix_name not in unique_videos or video.get("play_vv", 0) > unique_videos[mix_name].get("play_vv", 0)):
- unique_videos[mix_name] = video
+ # 只获取最新批次的数据
+ today_videos_raw = list(douyin_collection.find({"batch_time": latest_batch_time}).sort("play_vv", -1))
+ logging.info(f"📊 最新批次数据数量: {len(today_videos_raw)}")
+ # 调试:检查原始数据
+ if today_videos_raw:
+ sample_video = today_videos_raw[0]
+ logging.info(f"🔍 样本数据检查:")
+ logging.info(f" mix_name: {sample_video.get('mix_name')}")
+ logging.info(f" play_vv: {sample_video.get('play_vv')} (类型: {type(sample_video.get('play_vv'))})")
+ logging.info(f" author: {sample_video.get('author')}")
+
+ # 按短剧名称去重并确保数据类型正确
+ unique_videos = self._deduplicate_videos_by_mix_name(today_videos_raw, include_rank=False)
today_videos = list(unique_videos.values())
logging.info(f"📊 今日数据去重后:{len(today_videos)} 个独特短剧(原始数据:{len(today_videos_raw)} 条)")
- # 获取昨天的榜单数据(如果存在),取最新的计算结果
- yesterday_ranking = rankings_collection.find_one({
- "date": yesterday_str,
- "type": "comprehensive"
- }, sort=[("calculation_sequence", -1)])
+ # 获取昨天最后一批次的数据
+ yesterday_start = datetime(yesterday.year, yesterday.month, yesterday.day)
+ yesterday_end = yesterday_start + timedelta(days=1)
+ yesterday_batch = douyin_collection.find_one({
+ "batch_time": {"$gte": yesterday_start, "$lt": yesterday_end}
+ }, sort=[("batch_time", -1)])
yesterday_data = {}
- if yesterday_ranking and "data" in yesterday_ranking:
- # 将昨天的数据转换为字典,以短剧名称为键
- for item in yesterday_ranking["data"]:
- title = item.get("title", "")
- if title:
- yesterday_data[title] = {
- "rank": item.get("rank", 0),
- "play_vv": item.get("play_vv", 0),
- "video_id": item.get("video_id", "")
- }
- logging.info(f"📊 找到昨天的榜单数据,共 {len(yesterday_data)} 个短剧")
+ if yesterday_batch:
+ # 获取昨天最后一批次的所有数据
+ yesterday_videos = list(douyin_collection.find({
+ "batch_time": yesterday_batch["batch_time"]
+ }).sort("play_vv", -1))
+
+ # 按短剧名称去重,保留播放量最高的记录,并确保数据类型正确
+ yesterday_data = self._deduplicate_videos_by_mix_name(yesterday_videos, include_rank=True)
+
+ # 计算排名
+ sorted_videos = sorted(yesterday_data.items(), key=lambda x: x[1]["play_vv"], reverse=True)
+ for rank, (mix_name, data) in enumerate(sorted_videos, 1):
+ yesterday_data[mix_name]["rank"] = rank
+
+ logging.info(f"📊 找到昨天的原始数据,共 {len(yesterday_data)} 个短剧")
else:
- logging.info("📊 未找到昨天的榜单数据,将作为首次生成")
+ logging.info("📊 未找到昨天的原始数据,将作为首次生成")
if today_videos:
# 先计算所有视频的播放量差值
@@ -315,8 +381,6 @@ class DouyinAutoScheduler:
def main():
"""主函数"""
- import argparse
-
try:
parser = argparse.ArgumentParser(description='抖音播放量自动抓取定时器')
parser.add_argument('--test', action='store_true', help='测试模式 - 立即执行一次')
@@ -325,23 +389,51 @@ def main():
args = parser.parse_args()
- # 设置日志配置
- setup_logging()
+ # 设置日志配置 - 只在定时器模式下启用静默模式
+ quiet_mode = not (args.test or args.once or args.ranking_only)
+ setup_logging(quiet_mode=quiet_mode)
print("正在初始化定时器...")
scheduler = DouyinAutoScheduler()
if args.test:
+ scheduler._is_timer_mode = False
print("执行测试模式...")
scheduler.run_test()
elif args.once:
+ scheduler._is_timer_mode = False
print("执行单次模式...")
scheduler.run_once()
elif args.ranking_only:
+ scheduler._is_timer_mode = False
print("执行榜单生成模式...")
scheduler.run_ranking_only()
else:
+ scheduler._is_timer_mode = True
print("启动定时器模式...")
+
+ # 显示定时器信息(使用print确保能看到)
+ from datetime import datetime
+ current_time = datetime.now()
+ print(f"🕐 当前时间:{current_time.strftime('%Y-%m-%d %H:%M:%S')}")
+ print(f"⏰ 执行规则:每小时整点执行抖音播放量抓取")
+
+ # 计算下次执行时间
+ next_hour = current_time.replace(minute=0, second=0, microsecond=0)
+ if current_time.minute > 0 or current_time.second > 0:
+ next_hour = next_hour.replace(hour=next_hour.hour + 1)
+ if next_hour.hour >= 24:
+ from datetime import timedelta
+ next_hour = next_hour.replace(hour=0) + timedelta(days=1)
+
+ wait_seconds = (next_hour - current_time).total_seconds()
+ wait_minutes = int(wait_seconds // 60)
+
+ print(f"⏰ 下次执行时间:{next_hour.strftime('%Y-%m-%d %H:%M:%S')}")
+ print(f"⏳ 距离下次执行:{wait_minutes} 分钟 ({int(wait_seconds)} 秒)")
+ print("💡 定时器正在等待中,将在整点自动执行任务...")
+ print("⏹️ 按 Ctrl+C 停止定时器")
+
scheduler.setup_schedule()
scheduler.start_scheduler()
diff --git a/backend/handlers/Rankings/drivers/chromedriver.exe b/backend/handlers/Rankings/drivers/chromedriver.exe
index 57fd644947de3ace10664fe45c8bac7fb5dcfbd9..9225a08334004725a3edc78f86b341fb158587f2 100644
GIT binary patch
literal 17123328
zcmeEv3w%`7wf9Uizz8E}(5SJdIH}V%*woIHv^Qd|H!2`1k0|m`K%xR-g-lHFQ56CN
zw5MZQ+S=CM+Iwy5?ZbL+ZLfN@wKfAJ;USPf5
rWd5}+>0>vUNVgS+
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 |