yuketangHelper
yuketangHelper copied to clipboard
感谢owner,他校雨课堂网课测试成功
他校测试主要在添加自己的csrftoken和sessionid基础上: 1更改代码中学校的网站地址:https://xxx.yuketang.cn/....(xxx为自己学校的) 2.根据登录后cookie里的university_id值,更改代码中university-id、uv_id 再次感谢~~
天啊!感谢你的使用!我完全没有预料到会有他校使用欸!请问同学你是哪个学校的啊? 看来也可以考虑继续做一个跨学校通用的版本了,蛮有意思的hhhh
你们的雨课堂也是北京慕华信息科技有限公司制作的吗?其实我还发现学堂在线(链接:https://www.xuetangx.com/ )也是他们公司制作的,而且后端部分逻辑是差不多的(估计代码复用),也就是说学堂在线上的网课作业答案也返回了,按F12可以找出来,这一点挺让我惊讶的......
福师大的,也是北京慕华信息科技有限公司制作的。感谢大佬回复,很开心!owner的版本已经是跨学校的通用版本。只需要略微修改就可以了,提醒后来人代码中1.学校网址;2.university_id 要根据不同学校的雨课堂网址和登陆后cookie里university-id更改就行;期待owner的通用版本和更好的版本! 今天也是在GitHub下载好几个项目运行、调试后才发现这个规律。python下半年刚学习,处于看懂owner项目代码阶段,很佩服owner探索精神,竟然发现作业答案返回!真的很强,😄 想询问如何owner是如何发现的?爬虫或者其他的吗?若能指教一些,例如书籍或项目更好,感谢
在 2020-12-29 21:01:54,"Zekang Chen" [email protected] 写道:
天啊!感谢你的使用!我完全没有预料到会有他校使用欸!请问同学你是哪个学校的啊? 看来也可以考虑继续做一个跨学校通用的版本了,蛮有意思的hhhh
你们的雨课堂也是北京慕华信息科技有限公司制作的吗?其实我还发现学堂在线(链接:https://www.xuetangx.com/ )也是他们公司制作的,而且后端部分逻辑是差不多的(估计代码复用),也就是说学堂在线上的网课作业答案也返回了,按F12可以找出来,这一点挺让我惊讶的......
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.
哈哈哈好的!我待会就先把你的这两个提醒写到README里,对其他使用者而言是很有用的经验。
其实发现作业答案返回是个很偶然的事情,当时我选修了项目管理概论这门课,它有65个作业考核,实在是太多了。我很生气,一怒之下就按了F12进入开发者模式去看network网络流动,翻了下网络请求过程,先是找到了返回作业题页面json数据的接口(例如,/exercise/get_exercise_list/462833/?term=latest&uv_id=3078 ),然后稍微浏览了下返回来的json数据的格式,就发现json数据中居然有个"answer"字段(见下图,要翻墙才能加载出这张图片)。一开始我都不敢相信字段里的是真正的答案,验证了好几道题后我才有了把握,接口真的把答案给直接返回了。既然有了答案,写出一个自动完成作业题的脚本也就不是什么难事了。
总的来说,我觉得自己是“爱折腾”吧。遇到什么感兴趣的网站,都会按出开发者模式来看看Elements和Network,算是个人习惯。我懂的爬虫知识也不多,也只有用到时才会写写爬虫,所幸雨课堂没有做反爬措施,所以脚本基本也就涉及到cookie、GET和POST这些简单的概念而已。我没有很系统地学习过爬虫,所以推荐不了书籍和项目,抱歉啦。我觉得你也很有探索精神啦,能想到在github搜索雨课堂的项目来运行调试,愿意去看懂项目代码,这已经很难得了,要知道我身边的一些用过我脚本朋友都不会去看代码呢。
好的,哈哈!翻墙图片看到了,这个答案在json里确实很强,哈哈!一般我是很少在开发者模式看一些东西,学习了。 谢谢分享经验,很详细的过程。昨晚原本打算fork你的项目,然后在自己的仓库里clone到本地后修改成适合自己学校的版本,再提交到GitHub。可后来发现github里的一些分支、push、更新等,我没有太理解透彻,担心提交到你项目的分支里去了,出笑话。所以自己创建了新的仓库,保存适合自己的学校的代码,可以让其他朋友使用,希望你理解。如果不行的话,我再把仓库删了
哦原来如此,没问题的,尽管用吧,我把代码放在GitHub上就是为了共享啊
line 114, in get_videos_ids for i in homework_json["data"]["course_chapter"]: KeyError: 'data'