看超星学习通刷视频被发现了,才刷了三个视频,会不会挂?

实拍评测吉利博越底盘,油箱位置靠下会不会影响通过...
正在载入...
分享视频:
嵌入代码:
拍下二维码,随时随地看视频
播放列表加载中...
上 传 者:
内容介绍:
以上作品均为本人原创实拍,未经允许禁止转载。
我来说点啥
版权所有 CopyRight
| 京网文[6号 |
互联网药品信息服务资格证:(京)-非经营性- | 广播电视节目制作经营许可证:(京)字第403号 | 不良信息举报电话:010- 举报邮箱:
<img src="" width="34" height="34"/>
<img src=""/>
<li data-vid="">
<img src=""/><i data-vid="" class="ckl_plays">
<img width="132" height="99" src=""/>
在线人数:
<li data-vid="">
<img src=""/><i data-vid="" class="ckl_plays">
<li data-vid="">
<img src="///img/blank.png" data-src=""/>
<img src="///img/blank.png" data-src="http://"/>
<li data-vid="" class="cfix">
src="///img/blank.png" data-src=""/>
<i data-vid="" class="ckl_plays">
<li data-vid="" class="cfix">
src="///img/blank.png" data-src=""/><i data-vid="" class="ckl_plays">
没有数据!
{upload_level_name}
粉丝 {fans_count}
{video_count}
{description}FC《勇者斗恶龙4》完整流程通关(刷物品流)第1期视频
FC《勇者斗恶龙4》完整流程通关(刷物品流)第1期视频
外星科技的勇者斗恶龙Ⅶ,其实就是11区国民RPG的第4部,红白机卡带容量1M剧情超长。本视频并非实战速攻,而是力求观赏性。全NPC制霸,完整展现剧情剧本。即时S\/L刷有价值物品(不刷种子),并充分展现这些物品在当时的独特价值。用各种经典战术与奇葩战术与各种怪物组合战斗,实用性与娱乐性兼顾的通关方式。用字幕详细解说装备选择、怪物特性、战斗技巧等游戏心得,并吐槽部分剧情。\n第一期流程:整个第一章。解说初期练级打钱和选择装备的一般规则,战士职业的优缺点,自杀回城法等游戏小窍门,BOSS战时演示8逃必杀BUG。红白机,FC,DQ4,勇者斗恶龙4,刷物品> 博客详情
摘要: 自用的一个小脚本,自用的同时复习了一下python网络编程相关的库
日 可用的,以后他们改了参数或者什么的用不了就别怪我了 坑爹的学校大四让人看选修课,实习忙得要死,就花了一天多写了个脚本,人生苦短。程序让世界更美好
-----------关于使用---------------
1 安装python3
2 安装BeautifulSoup库
3 保存代码到文本文件里面,然后修改里面的用户名密码学校id, 然后修改后缀名为.py (可有可无) 然后命令行下输入
&python.exe&你保存的文件名.py
& 学校id就是登录后台时选择学校,然后用firebug查看id,点击学校名称,下面a标签里面就有id
禁止转载!!! 鄙视各种剽窃行为&http://my.oschina.net/cuilili/blog/382278
--------------------------------------------------------------
日 20:21:05补充:
觉得单线程刷课太慢我又弄了个多线程的,三五秒轻松搞定。
from&urllib&import&request,&error,&response,&parse
from&bs4&import&*
import&http.cookiejar
import&html,json
import&hashlib
def&mydecode(data):
&&&&'''将二进制数据转码成字符&,万一出错&返回None'''
&&&&types&=&['utf-8','gb2312','gbk','iso-8859-1']&&&#可以添加其他字符编码
&&&&for&type&in&types:
&&&&&&&&try:
&&&&&&&&&&&&return&data.decode(type)
&&&&&&&&except:
&&&&&&&&&&&&pass
&&&&return&None
def&openRequest(url,&method='GET',&data=None):
&&&&global&cj,&opener,&init
&&&&if&not&init:
&&&&&&&&init&=&True
&&&&&&&&cj&=&http.cookiejar.CookieJar()
&&&&opener&=&request.build_opener(request.HTTPCookieProcessor(cj))
&&&&req&=&request.Request(url)
&&&&req.add_header('User-agent',&'Mozilla/28.0')
&&&&request.install_opener(opener)
&&&&if&data:
&&&&&&&&return&request.urlopen(req,data)
&&&&&&&&&return&request.urlopen(req)
def&GET(url):
&&&&'''get请求页面&并返回已经解码的url对应的页面'''
&&&&r&=&openRequest(url)
&&&&return&mydecode(r.read())
def&POST(url,&data,&head=[]):
&&&&'''post数据&并返回已经解码的url对应的页面'''
&&&&r&=&request.Request(url)
&&&&for&k,&v&in&head:
&&&&&&&&r.add_header(k,&v)
&&&&resp&=&openRequest(url,&'POST',&data)
&&&&return&&mydecode(resp.read())
def&out(data):
&&&&'''输出调试信息'''
&&&&if&debug:
&&&&&&&&print('-'*20)
&&&&&&&&print(data)
def&login(username,&password,&school):
&&&&'''登录获取session以发送数据,并得到课程的结果页'''
&&&&url&=&'/login'
&&&&data&=&{
&&&&&&&&'pid':&-1,
&&&&&&&&'pidName':&'',
&&&&&&&&'fid':&str(school),
&&&&&&&&'fidName':&'',
&&&&&&&&'uname':&str(username),
&&&&&&&&'password':&str(password)
&&&&h&=&[("Content-Type",&"application/x-www-form-charset=utf-8")]
&&&&data&=&parse.urlencode(data).encode('utf-8')
&&&&return&POST(url,&data,&head=h)
def&urltoMap(url):
&&&&#url&=&input('please&input:')
&&&&p&=&parse.urlparse(url).query
&&&&map&=&{}
&&&&for&key_value&in&p.split('&'):
&&&&&&&&k,v&=&key_value.split('=')
&&&&&&&&map[k]&=&v
&&&&return&map
def&getChapterList(doc):
&&&&'''获取一门课程对应的所有章节列表'''
&&&&soup&=&BeautifulSoup(doc)
&&&&l&=&[]
&&&&for&h3&in&soup.find_all('h3',&class_='clearfix'):
&&&&&&&&url&=&h3.a['href']
&&&&&&&&name&=&h3.find('span',&class_='articlename').a['title']
&&&&&&&&passed&=&'100%'&in&h3.a.span.text
&&&&&&&&l.append(&(url,&name,&passed))
&&&&return&l
def&getCourseList(doc):
&&&&'''获取用户选择的课程列表'''
&&&&soup&=&BeautifulSoup(doc)
&&&&childsrc&=&soup.find('iframe')['src']&&&&&&&#因为课程在iframe里面&显示的
&&&&doc&=&GET(childsrc)
&&&&soup&=&BeautifulSoup(doc)
&&&&courses&=&[]
&&&&for&div&in&soup.find_all('div',&class_='Mconright'):
&&&&&&&&url&=&div.h3.a['href']
&&&&&&&&url&=&parse.urljoin(childsrc,&url)
&&&&&&&&name&=&div.h3.a.string
&&&&&&&&courses.append(url)
&&&&return&courses
def&passAChapter(url):
&&&&'''跳过一个章节'''
&&&&map&=&urltoMap(url)
&&&&url&=&'/knowledge/cards'
&&&&data&=&{
&&&&&&&&'clazzid':&map['classId'],
&&&&&&&&'courseid':&map['courseId'],
&&&&&&&&'knowledgeid':&map['chapterId'],
&&&&&&&&'num':&0,
&&&&&&&&'v':&'',
&&&&url&+=&"?"+parse.urlencode(data)
&&&&doc&=&GET(url)
&&&&#在页面的js中抽取有用的信息
&&&&soup&=&BeautifulSoup(doc)
&&&&script&=&str(soup.find_all('script')[4])
&&&&start&=&script.find('try{')
&&&&end&=&script.find('};')
&&&&substr&&=&script[start+13:end+1]
&&&&d&=&jsonTodict(&substr)
&&&&objid&=&d['attachments'][0]['objectId']
&&&&t&=&getDuration(objid)&&&&&&&&#知道这个视频共有多少秒
&&&&s1&=&'&.MY[Or/s&?OJC]'&&&&&&&&#播放器用的&‘盐’&用来加密播放进度信息&&md5(solt+time*1000)
&&&&s2&=&str((t-1)*1000)
&&&&m&=&hashlib.md5()
&&&&m.update((s1+s2).encode('utf-8'))&&&
&&&&enc&=&m.hexdigest()
&&&&data&=&{
&&&&&&&&'clazzId':&&&&&&d['defaults']['clazzId'],
&&&&&&&&'jobid':&&&&&&&&&d['attachments'][0]['jobid'],
&&&&&&&&'objectId':&&&&&objid,
&&&&&&&&'otherInfo':&&&&d['attachments'][0]['otherInfo'],
&&&&&&&&'rt':&&&&&&&&&&&0.9,
&&&&&&&&'dtype':&&&&&&&&'Video',
&&&&&&&&'enc':&&&&&&&&&&&enc,&&&&&&&&&#&md5(solt+time*1000)
&&&&&&&&'clipTime':&&&&&('0_%d'&%t),&&&&&&&&&&#0_maxsec
&&&&&&&&'duration':&&&&&&t,&&&&&&&&&#sec
&&&&&&&&'playingTime':&&t-1,&&&&&&&&&&#secnow
&&&&&&&&'isdrag':&&&&&&&3,
&&&&p&=&parse.urlencode(data)
&&&&url&=&'/multimedia/log?'+p
&&&&doc&=&GET(url)
&&&&return&'true'&in&doc&&&&&&&&&&&&#如果课程已经通过&doc就会返回{'ispassed':true}字符串
def&getDuration(objid):
&&&&'''获取objid对应的视频有多少秒&返回int'''
&&&&url&=&"/ananas/status/"+str(objid)
&&&&doc&=&GET(url)
&&&&i1&=&doc.find('"duration"')
&&&&i1&=&doc.find(':',&i1)
&&&&i2&=&doc.find(',',&i1)
&&&&t&=&int(doc[i1+1:i2])
&&&&return&t
def&jsonTodict(jsontext):
&&&&d=json.JSONDecoder().decode(jsontext)
&&&&return&d
def&main(user,&password,&school):
&&&&doc&=&login(user,&password,&school)
&&&&if&"用户登录"&in&doc:
&&&&&&&&print("登录失败,请查看err.html")
&&&&&&&&with&open('err.html',&'w')&as&err:
&&&&&&&&&&&&err.write(doc)
&&&&&&&&return
&&&&&&&&print('login&success')
&&&&courselist&=&getCourseList(doc)
&&&&if&courselist:
&&&&&&&&print('get&courselist&success')
&&&&allclassurl&=&[]&&&&&&&&&&&&#保存所有的小节
&&&&for&course&in&courselist:&&&#遍历每一个课程
&&&&&&&&#&23:01:03&添加了过滤非法字符的功能&原因见评论1
&&&&&&&&course&=&course.replace('\n',&'').replace('\t',&'').replace('\r',&'').replace('//',&'/').replace(':/',&'://')
&&&&&&&&doc&=&GET(course)
&&&&&&&&chptlist&=&getChapterList(doc)
&&&&&&&&allclassurl+=chptlist
&&&&&&&&print('get&classurl&finished')
&&&&for&url,&name,&passed&in&allclassurl:
&&&&&&&&if&not&passed:&&&&&&#如果没有完成
&&&&&&&&&&&&import&threading
&&&&&&&&&&&&threading.Thread(target=worker,&args=(name,url)).start()
&&&&print('all&finished')
def&worker(name,&url):
&&&&passed&=&passAChapter(url)
&&&&print('%s:\t\t%s'%(name,&passed))
if&__name__=="__main__":
&&&&global&debug,&init
&&&&debug&=&True
&&&&init&=&False
&&&&user&=&"你的学号"
&&&&password&=&"你的密码"
&&&&school&=&"学校id"
&&&&&&&&main(user,&password,&school)
&&&&except:
&&&&&&&&print('出现错误,程序退出')
==========================
运行截图:
==========================
&&&&修复了因为url带有非法字符造成的 http 505错误
----------------------------------
不对使用本程序造成的后果承担任何责任,包括但不限于挂科。欢迎技术交流,但帮忙刷课什么的就别来了,请自重!!!
&&& 少数学校登陆之后跳转到其他域名(我的程序里面url域名和一些路径是硬编码写死的,因为我很懒,每次都自动提取url必要性不大)造成表单提交失败,无法跳过视频。& 有兴趣的可以自己抓包去修改程序
09:16:28 本程序已经不更新了!!!!
09:34:59 程序已经失效,网站修改了moocplayer.js里面的逻辑,enc参数计算方法貌似也变了。
人打赏支持
码字总数 7322
貌似要 改成
你看看你登陆之后的域名是什么
引用来自“___Null”的评论145 行
貌似要 改成
你看看你登陆之后的域名是什么http://i./space/index 改上去 科目后是false
引用来自“___Null”的评论145 行
貌似要 改成
你看看你登陆之后的域名是什么引用来自“哈哈哈哈哈问问”的评论http://i./space/index 改上去 科目后是false url = '/multimedia/log?'+p
引用来自“___Null”的评论145 行
貌似要 改成
你看看你登陆之后的域名是什么引用来自“哈哈哈哈哈问问”的评论http://i./space/index 改上去 科目后是false引用来自“___Null”的评论 url = '/multimedia/log?'+p
146行不行啊 其他url是不是也要改 ip被超星封了。。。
引用来自“___Null”的评论145 行
貌似要 改成
你看看你登陆之后的域名是什么引用来自“哈哈哈哈哈问问”的评论http://i./space/index 改上去 科目后是false引用来自“___Null”的评论 url = '/multimedia/log?'+p
146行引用来自“哈哈哈哈哈问问”的评论不行啊 其他url是不是也要改 ip被超星封了。。。是不是要改,改哪个url,改哪个参数,都是要你抓包之后分析才能确定的,所以你问的问题我无法回答。可以使用网页调试工具验证你的猜测。如果你没有python基础的话还是别尝试修改了
没换,视频观看时长那个我也写程序搞定了
貌似在moocplayer.js里面的,
代码混淆过了,你要解密之后才能看到这个字符串
js基础 参考w3cschool
引用来自“___Null”的评论js基础 参考w3cschool我发现超星慕课enc字段的加密算法是采用多个字段校验的,但是不知道加密算法,你有没有找到?
引用来自“___Null”的评论js基础 参考w3cschool引用来自“jkla139”的评论我发现超星慕课enc字段的加密算法是采用多个字段校验的,但是不知道加密算法,你有没有找到?之前找到了,然后写了这个脚本,最后他们换了加密的方式,我就再没找,我都毕业了,所以不用折腾那玩意了
赞一个, 我和另一个同学一起弄得这玩意,他用的也是js直接修改,原理和你的差不多。js操作简单粗暴,可惜我当时不太懂js,就选了py。
好好学习啊,不要为了作弊而作弊
支付宝支付
微信扫码支付
打赏金额: ¥
已支付成功
打赏金额: ¥【教程】超星泛雅尔雅刷视频教程_黄山学院吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:92,471贴子:
【教程】超星泛雅尔雅刷视频教程收藏
前言1,此方法,可以同时开多个窗口刷视频,虽然没有缩短单个视频的时间,却可以减少总的时间。(本人亲测可以同时挂十三个)2,在挂视频的同时,不耽误你做题目。如果开的窗口过多就不要做题目了,这玩意很耗费内存,楼主机子8G双通道内存都用到百分之70+,如果窗口崩溃就不好了,要重新来3,此方法对徽文化完美支持。附几张图
准备工具,猎豹浏览器,只要一个浏览器,也只能是猎豹浏览器,,,,,,,好了不废话了 ,下面开始了,就三步,,,
第一步,登陆账号,打开学习页面,点击播放视频,然后点击右上角的 《窗口弹出》,没错,就是这个按钮
第二步,视频窗口弹出后,请看浏览器左上角,就是下图中的按钮,点击这个按钮,就可以回到窗口弹出前的页面,同时,弹出的窗口不会消失,第三步然后继续另外一节,再然后《窗口弹出》--&返回这个循环下去,就可以重复开窗口了
理论上,半个小时可以挂完所有的视频but,第一,你要有个超级电脑,内存要好大好大,cpu主频 还有显卡都要跟上第二,一百兆,不对,一千兆的宽带,应该都不行,所以,你还是安安稳稳的挂五六个窗口啊
半个小时挂完?
666不过我已经看完了。       &#x270E;﹏&#x20AF;&#x3395;﹍﹍&#x2665;    心若向阳,无畏悲伤。心若一动,泪就千行。
早说啊,我一个一个挂的,累死了
高压cpu勉强
[FLUSHED FACE]
已看完,貌似现在每集的视屏的时间变短了
你才是大神
这么好的东西你怎么不早说啊我都看完了
不行啊,点窗口之后之前的网页就没有了
开门查水表
去年都看完了
就挂了5个,今晚结束来不急了
话说有一个老版的超星泛雅软件 几秒一个
十来分钟就可以刷完
这是同一个课程的吧
不同课程同时看会弹出来的吧?
只有徽文化可以 尔雅不行的 尔雅要上一个视频看完下一个才允许看
只能用电脑挂?
不行啊,说请按顺序播放
请问怎么开这么多个视频 它那个不是不把一节里的视频,题目都做了才能看下一个视频吗
当初都是直接刷完的 可怜的学弟学妹们
有的可以 有的不可以 我考古可以
早知道就选徽文化了,。。。。。。。,
徽文化有锁啊
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或

我要回帖

 

随机推荐