# 需要配置selenium
# progress需要22版本以上的pip
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
# url: 课程地址。格式为:`https://www.zxx.edu.cn/syncClassroom/classActivity?activityId=*`
python main.py url
- 默认只有对于视频时长的验证,确保下载完成
额外的对于视频标题和pdf标题的验证,需要依据实际情况去写
直接找api
好了
- 核心是
fulls.json
数据实际上是伪动态的
https://www.zxx.edu.cn/syncClassroom/classActivity?activityId=ad610237-db27-4d86-8105-f7262c2e3fdf
m3u8
& video
-
m3u8_To_MP4
居然是有bug的,默认会少掉开头的一小段 其实本来就应该做验证,毕竟是下载,而且resources
中就有duration
-
视频下载 可以直接用
ffmpeg
指令来下载m3u8的内容ffmpeg -i '*.m3u8' -c copy test.mp4
pdf
https://r1-ndr.ykt.cbern.com.cn/edu_product/65/document/1bc74fe7547a11eb96b8fa20200c3759/pdf.pdf /edu_product/65/document/1bc74fe7547a11eb96b8fa20200c3759/pdf.pdf
虽然感觉不可能会出错,但是毕竟是离线使用的,还是验证一下好了
-
文档标题验证 直接定位
课题
拿到标题,然后匹配 -
存在一些命名不规范、识别错误、 这部分就直接人工验证了
- mp4
-
视频长度验证
ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 input.mp4
-
视频标题验证 以视频开头的5秒处的封面进行图像识别 从顺序来说,标题肯定是在第二行的