怎样利用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安全错误 数据库的锁怎样保障安全 图形数据库需要资本运作 sql实训数据库 中国人gwas数据库 一般服务器的io 如何取消数据库的变更捕获 无线传感器网络安全技术的未来 网络安全2018培训 QT怎样取数据库并处理数据 国内访问国外的服务器 信息网络安全监督管理局 云课堂网络安全 百色服务器地址 数据库查询字段名称怎么改 大学二级学院网络安全责任制细则 玻璃服务器是什么情况 服务器开机鼠标能动点不开 银行复杂数据库 三亚直播软件开发方案 网络安全等级保护验收 outlook无法连接到服务器 各国网络安全概念股 杭州软件开发者一般去哪些网站 网络安全认证考试考什么 河北通用软件开发价格对比 呱呱网络技术公司 呼死你软件开发 列出你所知道的web服务器控件 服务器配置与综合管理实训 北京冬奥会网络安全工作总结 常熟名优软件开发服务电话