用python重写学习通复读机

之前用js实现了下学习通讨论区的复读机,然鹅由于js学艺不精,遗留了一堆bug还解决不掉,所以用python重写了一次

整个流程中,需要对十个地址进行访问,分别是:

  • 获取uuid与enc与JSESSIONID并保存:http://passport2.chaoxing.com/cloudscanlogin
  • 获取登陆二维码:http://passport2.chaoxing.com/createqr
  • 检查登录状态并记录cookie:http://passport2.chaoxing.com/getauthstatus
  • 获取接下来需要的完整cookie信息:https://3wfy-ans.chaoxing.com/passport/allHead.shtml
  • 进入个人主页:http://hdu.fanya.chaoxing.com/courselist/study
  • 进入课程主页:程序中动态获取
  • 进入讨论主页:程序中动态获取
  • 进入讨论详情页:程序中动态获取
  • 点击加载更多按钮:https://mooc1-2.chaoxing.com/bbscircle/getreplysbytopicId
  • 提交答案:https://mooc1-2.chaoxing.com/bbscircle/addreply

几点心得:

  1. 由于超星从来不向前端传输json数据,所有网页均后端生成,所以必装一个from bs4 import BeautifulSoup,用它来读取html内容,不然全部正则能写死自己
  2. 在用同一个headers请求几个不同域的地址的时候,一定要删掉headers中的host属性!
  3. 不要手打往服务器传的参数名称,超星一会儿是topicid,一会儿是topicId的……

生成的exe比较大,就不往上传了,把代码传一下吧

代码下载地址

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注