《新闻联播》每日抓取入库:全链路 + 可移植化 + 定时任务
从 CCTV 主页抓取《新闻联播》,下载 → 转 MP3/WAV → 静音切分 → ASR 识别 → LLM 校对 → 切分为单条新闻 → 入库 MySQL。 主要内容: - 全链路:getVideo5 抓取下载、audioRead 转写、deepseek 校对与切分、newsProcess 入库 - 可移植化:配置分层,.env 只放密钥、config.yml 放模型/接入点/路由/参数 - 可换供应商:endpoints(kind/base_url/api_key_env/extra_body)+ routes 按环节选路 - 数据保真:数值事实守卫,校对改动数字/年份/届次则整片回退 ASR 原文; 识别不完整不发布该日精编,避免半天内容被当成完整一天 - 定时任务:systemd 每天 21:00,失败 21:30 / 22:00 重试; 只缺切分时只重跑切分(省掉全部 ASR),用 state/.asr_complete_* 标记判定阶段 - 隧道自愈:13306 不通时自动执行 autossh.sh(所有入口共用,systemd 托管时只等待) - 中间产物每日清理;97 项离线自检(配置/清理/事实守卫/解析/隧道)
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
# xwlb 运行依赖
|
||||
#
|
||||
# 安装(本机为 externally-managed 环境,需用虚拟环境):
|
||||
# python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
|
||||
#
|
||||
# 系统依赖(apt):ffmpeg(抽音/转码必需);MySQL 客户端非必需(用 mysql-connector 连接)
|
||||
|
||||
# ---- 数据库 ----
|
||||
# 原项目用 mysql_connector_repackaged(旧 fork,python3.13 下不建议);改用官方驱动
|
||||
mysql-connector-python>=9.0
|
||||
|
||||
# ---- 采集 ----
|
||||
requests==2.32.5
|
||||
beautifulsoup4==4.14.2
|
||||
yt_dlp==2025.11.12
|
||||
|
||||
# ---- 音频处理 ----
|
||||
pydub==0.25.1
|
||||
# pydub 依赖标准库 audioop,而 audioop 在 Python 3.13 中被移除;3.13 需额外安装此兼容包
|
||||
audioop-lts; python_version >= "3.13"
|
||||
|
||||
# ---- 配置 ----
|
||||
# config.yml 解析(非敏感配置;敏感项在 .env)
|
||||
PyYAML>=6.0
|
||||
|
||||
# ---- ASR / LLM ----
|
||||
# 原 pin 为 1.24.6,但本机实际运行的是 1.27.7(base url 通过
|
||||
# DASHSCOPE_HTTP_BASE_URL / DASHSCOPE_WEBSOCKET_BASE_URL 生效,已在 1.27.7 验证)
|
||||
dashscope>=1.27.7
|
||||
|
||||
# ---- 以下依赖当前代码未使用,保留仅为兼容历史环境 ----
|
||||
# m3u8 # 早期解析 m3u8 播放列表
|
||||
# playwright # 早期页面渲染方案
|
||||
# aiofiles、aiohttp # 并发下载方案(现为同步 yt-dlp)
|
||||
Reference in New Issue
Block a user