Files
xwlb/requirements.txt
T
simon 60f8c263f2 《新闻联播》每日抓取入库:全链路 + 可移植化 + 定时任务
从 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 项离线自检(配置/清理/事实守卫/解析/隧道)
2026-09-25 11:17:46 +08:00

34 lines
1.2 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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)