怎样利用python完成大学刷课
本篇文章给大家分享的是有关怎样利用python完成大学刷课,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
0x01:
首先分析一下它是怎么验证你看完这个课的。
当学习完成时会发出这个请求
然后看看这几个请求的数据都是在前端哪里生成的
一番寻找就看到了是wx.js下的function finishWxCourse() 。控制台执行 finishWxCourse() 果然会发起完成修课的请求
0x02:
然后剩下就是脚本的思路 首先要获取课程的链接 然后打开以后执行js finishWxCourse() 后来发现requests不是很好的能执行js 然后我就听从了几个师傅的意见用selenium...所以是边学边写的 遇到了几个小坑记一记
安装不表 网上很多教程 chromedriver装在环境变量里面就好了 比如python的环境变量 如果遇到问题可以留言评论
先说一下 代码最终的整体思路是 打开网站----设置cookie----然后通过点击打开所有的隐藏元素-----定位点击----后退---------------点击打开所有的隐藏元素-------定位点击----------后退..然后重复之前的步骤
这是简单的启动浏览器和发起请求
driver = webdriver.Chrome("C:/Python27/chromedriver.exe") driver.get("http://wb.mycourse.cn/")
删除所有的cookie并设置cookie。我是手动登陆然后再添加 有一个要记住的就是先要请求一次网页 才能设置cookie 再请求网页
driver.add_cookie({'name':'JSESSIONID','value':'93BEC0FDEF428F98DA1F69A6B3C2BF88'}) #已经过期的了 师傅们driver.add_cookie({'name':'acw_tc','value':'7b39758715392684428742395e7ed4b94ed4e9616cb11d4b9df9e244ec7573'}) driver.add_cookie({'name':'SERVERID','value':'02cc313090e3650844ab417ac43bf774|1539357767|1539357719'})driver.get("http://wb.mycourse.cn/svnweiban/student/study_studyAndTest.action")
接着就是定位元素了 首先要看到我们要点击的课程链接
看到class属性 有一个坑就是这里多个class属性 不能直接多个class一起定位 不然会找到 如果全部一起定位要用css寻找并且用.来链接 然后我这里用的是 courseLink定位 这个名字也很明显是做什么的。然后我也发现是98个课程都能定位到 前面几个class能定位到1000多个
link2s = driver.find_elements_by_class_name("courseLink")
我原本就很开心的以为差不多做完了准备写出一个这样子的代码
for i in range(99): link2s = driver.find_elements_by_class_name("courseText") link2s[i].click() driver.execute_script("finishWxCourse()")
但是结果发现无法获取到元素 什么鬼 然后一直报错···苦苦百度以后发现···原来是没有展开元素 是diplay:none。 隐藏了 然后我百度以后找到的方法一直是 通过执行js把none改为block结果发现不好定位啊
定位 就是 元素 代码 多个 课程 属性 师傅 链接 大学 变量 地方 思路 更多 环境 知识 篇文章 结果 网页 问题 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 奎屯服务器维保 南京微链网络技术有限公司 linux服务器双机热备 数据库目录中的db什么意思 银保协杯网络安全知识竞赛 中原云 大数据库 国内四大数据库 才秀互联网科技有限公司 为了保障网络安全 维护网络 宁波ios系统软件开发 辽宁网络软件开发商家 浦东新区品牌软件开发费用是多少 软件开发需求调研过程 红绿蓝网络安全色 安徽网络技术及信息安全工程师 工资 数据库 塑料光纤 网络安全 数据库建库主要步骤 网络安全视频宣传音乐 长沙商城软件开发定制费用 网络安全手抄报纸稿 数据库文件是流式文件吗 数据库全球加速 erp进销存软件开发 南京IPS网络安全防护 怎么检测dbf数据库 水资源的使用数据库 特种网络技术分类咨询报价 臻装网络技术有限公司怎么样 深圳市云之讯网络技术有限