Skip to content
This repository has been archived by the owner on Jan 9, 2022. It is now read-only.

针对现阶段某些bug的修复&新功能使用的说明 #23

Open
SigureMo opened this issue Nov 11, 2018 · 5 comments
Open

针对现阶段某些bug的修复&新功能使用的说明 #23

SigureMo opened this issue Nov 11, 2018 · 5 comments

Comments

@SigureMo
Copy link
Contributor

SigureMo commented Nov 11, 2018

详情请参见我的文档,这里不会做太多更新了
我的分支点这里


由于Foair最近不资到去哪里了,所以最近出的某些bug本branch无法解决,我在我的branch对一些bug进行了修正,可以保证在一段时间内网易系课程(icourse163、study_mooc、study_163、open_163)和livedu的正常使用,但不会再去做很费时费力的新功能的支持(比如对付费破解功能的支持,下面对我的branch下的某些修改进行说明,方便Foair回来时候更快地对bug进行修正,并对文档中未说明部分进行额外的说明

  • 🐛 Fix Rich of study_mooc
    解决issues17

  • 🐛 Fix RichText.file of icourse163
    解决issues19&issues21

  • 🚑 Add cookies for icourse163
    解决issues20
    可解决2018/09附近及之后的视频url失效的问题,该问题来源为中M较新视频使用了新的接口,原接口无法获取真实视频url,但是新接口需要使用cookies才能获取url,所以我对icourse163增加了对cookies的支持,但考虑到大部分视频不需要新接口,所以我暂时保留了原有解析方式,只需要在要求输入cookies时候按下回车就可以注入一个空cookies,如若遇到新视频,请参照网易云课堂MOOC的cookies注入方式对中Mcookies进行注入,便可获得真正的视频url

    • 如果出现无法获取termid的情况,请尝试删除该cookies后重新下载,方法同文档中网易云课堂MOOC下删除cookies的方法
    • issues27提到把无效链接前缀改了就可以,这个之前确实没注意到,但这种方法貌似不适合批量获取(那貌似需要每个链接都建立下连接测试下的)
  • 🚀 Add livedu
    解决issues22
    对北京高校优质课程研究会进行支持

    • 依赖:BeautifulSoup4
    • 输入:仅支持课程主页url(形如:http://www.livedu.com.cn/ispace4.0/moocxjkc/toKcView.do?kcid=253 ),不支持学习页面(因为学习页面使用post,不能直接从url获取参数),如果是学习页面点一下课程名便可以返回课程主页
    • 需要cookies,获取方式同网易系课程一样
    • 由于该网站是将数据直接保存在html内的,所以,解析过程会很慢
    • 另外,issues22里也提到了,chapter_name的解析很麻烦也不靠谱,但我暂时没想到更好的方法啦……
  • 🐛 Fix re for icourse163
    解决Lee Richard's issue(Projects)
    对中M课程名内含回车课程进行支持,避免发生某些课程无法匹配的问题,典型例子:英国社会与文化 - 武汉大学,由于使用re.DOTALL会使所有.都支持回车匹配,由此引发很多问题,故仅将name处.修改为[\s\S](暂时没想出更好的方法,如有好的建议,欢迎提出)

  • 🐛 Review open_163
    解决issues24
    Review open163,并修复课程列表残缺的问题


  • 🚀 Add icourses_share
    增加对爱课程资源共享课的支持(Projects

    • 依赖:BeautifulSoup4、lxml
    • 输入:主页和学习页面都资瓷,具体支持啥看mooc.py里的正则
  • 🚀 Add open163
    增加对网易公开课的支持

    • 依赖:BeautifulSoup4、lxml、pycryptodome
  • 🚀 Some improvements
    这是在本branch已有的改动,支持了视频清晰度的选择,但文档尚未增加该项,特在这里说明下:
    参数-r shd(超高清)、hd(高清)、sd(标清)

  • 🚀 Support aria2
    增加对视频直接送入aria2下载的支持,aria2下载webui下载AriaNg下载(一个比较好看的webui)

    • 参数说明:
      • --aria2 启用 aria2 进行下载,请将 aria2c 配置在环境变量
  • 其他
    其他commit大多是fix些小bug、做点小优化,没什么可提的,可以放心使用

  • Todo List

我可爱的Foair,你快回来呀,想死你了:sob:

@Foair
Copy link
Owner

Foair commented Dec 8, 2018

#19#21 已经修复,我看了一下你改的,那样就匹配不到任何富文本了,附件也都没有。

其他的,我慢慢改吧,容我缓一下,尽量每天更新,以后再也不拖更了。

感谢这些天一直热心回答问题,进行 bug 的修复。辛苦了 (^o^)

@SigureMo
Copy link
Contributor Author

SigureMo commented Dec 8, 2018

你总算回来了:grinning:

那个#19和#21貌似是我疏忽了?刚刚看了眼正则就看出来有问题:joy:

剩下的你慢慢改吧,这段时间我先溜了:stuck_out_tongue_closed_eyes:

@SigureMo
Copy link
Contributor Author

SigureMo commented Nov 4, 2019

近期更新的平台实在太多……基本就是这一个月内吧,学堂在线全面改版,中M视频接口全面改m3u8(包括pc端新旧接口,以及移动端),连好多年没有变过的网易公开课都改新界面了,即便是不会花费太多时间,我也无力去为每一个去支持与测试了,当然我也是不想放弃的,有很多想法我还没有去做,但是实在是……精力有限……

其实,有些新技术的应用对于爬虫来说更加方便了,不需要慢慢去爬取 HTML 并解析了,相应地,对用户也是更加的友好了,所以,今后我建议还是直接在平台上观看吧~ 如果哪天我有需求,也许会再对我需求的某门课做下支持吧~

@Hanson7300
Copy link

近期更新的平台实在太多……基本就是这一个月内吧,学堂在线全面改版,中M视频接口全面改m3u8(包括pc端新旧接口,以及移动端),连好多年没有变过的网易公开课都改新界面了,即便是不会花费太多时间,我也无力去为每一个去支持与测试了,当然我也是不想放弃的,有很多想法我还没有去做,但是实在是……精力有限……

其实,有些新技术的应用对于爬虫来说更加方便了,不需要慢慢去爬取 HTML 并解析了,相应地,对用户也是更加的友好了,所以,今后我建议还是直接在平台上观看吧~ 如果哪天我有需求,也许会再对我需求的某门课做下支持吧~

edX今年1月更新了策略,不付费,过期以后没法回看;新版学堂在线也设置了课程有效期;同时强力推荐各种费用不菲的认证证书项目,用高校的信用做背书(反正不是学历证书,想发多少发多少);高校MOOC过去一直是用爱发电,而现在微信公众号里各路神仙都在卖课,高校MOOC平台也需要盈利,所以感觉以后好的资源会越来越难以获得,唉

@xhlove
Copy link

xhlove commented Feb 6, 2020

对于网易云课堂的付费课程倒不是很麻烦
https://vod.study.163.com/eds/api/v1/vod/video这个api的返回数据中
对k进行解密得到用于解密视频的aes key就行了。
k的解密方法也简单,这里提供一下算法:

k = "..."
k = list(base64.b64decode(k.encode()))
cipher = AES.new(b"3fp4xs922ouw5q72", AES.MODE_CBC, bytes(k[:16]))
k = cipher.decrypt(bytes(k[16:])).decode("utf-8")
aes_key = json.loads(k.strip())["k"]

update: 写快了,这个解出来是key的url,并不是解密视频的key,另外这个url只能访问一次。

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants