怎样利用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安全错误 数据库的锁怎样保障安全 服务器作用和用途 河南易迅网络技术 为什么服务器总是特别忙 软件安装目录如何看数据库信息 新吴区项目软件开发记录 新网dns解析服务器 临沧新华互联网科技好不好 微数互联网科技有限公司 内部聊天软件开发 幼儿园网络安全手抄报最简单 数据库设计专业大学排名 杨浦区技术软件开发报价方案 粤港澳 网络安全 菏泽市九八网络技术有限公司 服务器怎么设置流畅不卡 三级网络技术怎么准备 培养学生网络安全活动 关于网络安全画画图片大全 网络安全4方面特征 服务器设置如何防止黑屏 全国网络安全标准化 网络安全教育观后感350字 计算机等级通过网络技术算过吗 计算机网络技术是怎样出现的 软件开发分为几步 甘肃网络安全法 橙心网络技术有限公司 键盘跳动网络技术有限公司 我的世界手机版练习技术的服务器 csgo怎么老是连接不到服务器