-
Notifications
You must be signed in to change notification settings - Fork 196
网易中国大学MOOC视频格式变化了,下载不了了 #37
Comments
唔 我看了下这个课程确实不能用,有空我试着改一下,如果急用可以临时使用这个mooc-dl (仅限临时使用,功能不齐全,而且视频会直接下载,可能出现些小 bug 什么的) |
算是临时修复了下@1c1d35c8b,但是该修复方式我并不是很满意,因为是使用的旧接口 在去年这个时候网易对视频获取接口进行了变动,旧接口获取的视频 url 全是错误的,但是按照 #27 和 #20 中的方法对视频 url 进行修改是可以获得真实 url 的,但我考虑到这个接口可能在以后某个时刻被彻底放弃掉,就对新接口进行了支持,唯一麻烦的是,新接口需要 cookies ,不过我认为这样更稳妥一些,在几个版本后我彻底删掉了旧接口 现在因为新接口仅支持 m3u8 ,如果不想办法下载并合并的话,新接口是不适合的,所以暂时使用了旧接口 旧接口的使用方法的话,在第一次使用时要求输入 cookies 时按回车即可(注入空的 cookies),如果已经注入了 cookies ,请在运行时增加参数 其实我也是有些其他的解决方案的,比如直接利用上面提到的手机端接口(mooc-dl),但我更倾向于重构整体代码以更好地支持下载器的调用,但限于时间与精力,初步尝试后我还是搁置了,emmmmmm 今后可能也没太多时间关注这边了 |
再次复现 (venv) $ python mooc.py https://www.icourse163.org/course/BIT-268001
Python语言程序设计 - 北京理工大学
【第0周】课程导学
0.1 课程基本情况
【视频】开课彩蛋: 新开始新征程 ...
【视频】课程定位与目标
【视频】课程教学安排
【视频】课程学习建议
【文档】0.1 课程基本情况
0.2 全课程内容导学 (必看: 课程内容渐进式体验)
【视频】课程内容概述
【视频】课程内容渐进式体验
【文档】0.2 课程内容导学
(此处由于太长,省略)
------> 实例12-政府工作报告词云源代码.zip
------> 1.1.1 开课彩蛋 新开始新征程 ....mp4
Traceback (most recent call last):
File "mooc.py", line 87, in <module>
main()
File "mooc.py", line 62, in main
icourse163.start(args.url, config)
File "/home/billchenchina/桌面/venv/mooc/icourse163.py", line 175, in start
get_resource(term_id)
File "/home/billchenchina/桌面/venv/mooc/icourse163.py", line 151, in get_resource
parse_res_list(video_list, rename, parse_resource, playlist.write)
File "/home/billchenchina/桌面/venv/mooc/utils.py", line 337, in parse_res_list
res.operation(*operator)
File "/home/billchenchina/桌面/venv/mooc/utils.py", line 56, in operation
func(self)
File "/home/billchenchina/桌面/venv/mooc/icourse163.py", line 48, in parse_resource
res_print(file_name + ext)
UnboundLocalError: local variable 'ext' referenced before assignment |
@billchenchina 按我上面的方法重试了吗 更新到我的最新版本 使用参数 如果该方法也无效 临时使用上面的 mooc-dl 吧 ps: 学完 Python 可以参与进来呢~我当年也是这门课入门滴:joy: |
也无效呢~而且在 mooc.py 里面 Line 61 in 78aa42c
好像少一行 cookies = store_cookies('icourse163.json') 加上也没用😂😂 之前我就用 mooc-dl 来着😂被你 redirect 到的这里 (会参与进来的) |
我想起来啦,mooc-dl 你提过 pr 来着,我说头像有点熟悉的感觉~ 不过你看的貌似不是我的分支呢,我的分支看这里,因为 Foair 销声匿迹好久了(我开始关注这个项目之后他就……不见了,之后只出现过一次),我只能在我的分支上做些小修复 如果真的旧接口也无效的话,我只能将比较稳定的手机端接口接进来了(也就是 mooc-dl) |
介个貌似也不是很星QAQ 刚刚做了一下输出调试 qwq, |
行吧……我试了,中 M 真的彻底要拥抱 hls 了应该,这个把每一段下载下来不难、合并也不难,但是不适合放在这个框架里,因为这个框架是同时支持视频自行下载(Video.txt)和即时下载(aria2)的,而且自行下载优先,如果想要支持 m3u8 的话就必须放弃自行下载这种方式,这一点我不是特别想改 后续我可能会把 mooc-dl 接口放进来,但因为它暂时仅支持爱课程账号登录(暂时我只做到了这个)其实有点不太方便,像 mooc-dl 那种内置账号并不是特别合适,所以我的推荐是暂时先用 mooc-dl 过一段时间观察一下我再考虑合并的事 另外,移动端端接口真的好稳定的说,我去年初学那会儿开始到现在近 2 年了,PC 端大改了 2 次了都,移动端还是可用 😂 |
你好~~我想问下移动端的接口你是在哪里找的? |
你好~~我想问下移动端的接口你是在哪里找的? |
@czt475297133 使用 Fiddler 抓包,详情自行搜索引擎搜索「移动端抓包」 |
https://www.icourse163.org/learn/NUDT-1205969803?tid=1206265203
Traceback (most recent call last):
File "mooc.py", line 83, in
main()
File "mooc.py", line 72, in main
mooc.start(args.url, config, cookies)
File "D:\Program\course-crawler\moocs\icourse163.py", line 212, in start
get_resource(term_id)
File "D:\Program\course-crawler\moocs\icourse163.py", line 182, in get_resource
parse_res_list(video_list, rename, parse_resource, playlist.write)
File "D:\Program\course-crawler\moocs\utils.py", line 359, in parse_res_list
res.operation(*operator)
File "D:\Program\course-crawler\moocs\utils.py", line 63, in operation
func(self)
File "D:\Program\course-crawler\moocs\icourse163.py", line 76, in parse_resource
if WORK_DIR.need_download(file_name + ext, CONFIG["overwrite"]):
UnboundLocalError: local variable 'ext' referenced before assignment
video['format'] == 'mp4' 不成立了,变成hls了
The text was updated successfully, but these errors were encountered: