学无止MOOC下载器破解
最近室友发现了一个MOOC下载器,可惜要VIP,让我帮忙看下。
软件地址在这里:学无止MOOC下载器
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。很奇怪作者为什么往开源社区发布收费软件,不过既然开源了,那就由不得作者啦。
可以看出源码很久没有维护了,尝试运行了下源码,果然解析不到了,调试分析了下,发现是给aria2的header未设置,导致了访问越权(403错误)。那么加上header是不是能用呢?
果然有效,这下可以和vip和限速说拜拜了。
下面附上修改后的源码:
(只需要修改Mooc_Config.py文件)
1 ''' 2 Mooc 总项目的配置文件 3 ''' 4 5 import sys 6 import os 7 import re 8 9 10 # 常量,固定参数 11 __QQgroup__ = "196020837" 12 __email__ = "py.jun@qq.com ze.ga@qq.com" 13 if hasattr(sys, 'frozen'): 14 PATH = os.path.dirname(sys.executable) 15 else: 16 PATH = os.path.dirname(os.path.abspath(__file__)) # 程序当前路径 17 winre = re.compile(r'[?*|<>:"/\\\s]') # windoes 文件非法字符匹配 18 WIN_LENGTH = 64 19 TIMEOUT = 60 # 请求超时时间 20 PLAYLIST = '播放列表.dpl' 21 PALYBACK = 'DPL_PYJUN' 22 BATNAME = '修复播放列表.bat' 23 BATSTRING = '''\ 24 @echo off 25 copy {0} {1} 26 echo 成功修复“{1}” 27 echo 请用Potplayer播放器打开“{1}”观看视频(未安装Potplayer自行百度下载安装) 28 pause 29 '''.format(PALYBACK, PLAYLIST) 30 LENGTH = 80 31 32 # 变量,可修改的参数 33 download_speed = "1248000000K"#解除速度限制 34 if getattr(sys, 'frozen', False): #是否打包 35 aria2_path = os.path.join(sys._MEIPASS, "aria2c.exe") 36 alipay_path = os.path.join(sys._MEIPASS, "Alipay.jpg") 37 else: 38 aria2_path = os.path.join(PATH, "aria2c.exe") 39 alipay_path = os.path.join(PATH, "Alipay.jpg") 40 #################主要修改这里######## 41 aira2_cmd = '%s --header "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36 -- oL4fIqviN072CS36cRExYXyJOPU981Fu" --check-certificate=false -x 16 -s 64 -j 64 -k 2M --disk-cache 128M --max-overall-download-limit %s --referer http://www.icourse163.org "{url:}" -d "{dirname:}" -o "{filename:}"'%(aria2_path, download_speed) 42 43 # 课程链接的正则匹配 44 courses_re = { 45 "icourse163_mooc": re.compile(r'\s*https?://www.icourse163.org/((learn)|(course))/(.*?)(#/.*)?$'), 46 "icourse_cuoc": re.compile(r'\s*https?://www.icourses.cn/web/sword/portal/videoDetail\?courseId=([\w-]*)'), 47 "icourse_mooc": re.compile(r'\s*((https?://www.icourses.cn/sCourse/course_(\d+).html)|' 48 r'(https?://www.icourses.cn/web/sword/portal/shareDetails\?cId=(\d+)))') 49 } 50 51 __all__ = [ 52 "__QQgroup__", "__email__", "PATH", "winre", "TIMEOUT", "PLAYLIST", "PALYBACK", 53 "BATNAME", "BATSTRING", "LENGTH", "WIN_LENGTH", 54 55 "download_speed", "aria2_path", "aira2_cmd", "courses_re", "alipay_path" 56 ]
把上面的代码全部复制,直接替换掉原来的Mooc_Config.py文件就OK了。
总结一下:软件爬虫部分的代码是没有失效的,主要是由于icourse163网站调整,header可能失效,因此每次只要重新更换header就行啦。
破解别人的软件是不对的,但是作者这种在开源社区发收费软件的行为也是不对的,所以就没有心理负担咯
更多精彩
我也特别不满这一点,然后找到源码想要改一下。但是用installer打包之后运行不了,也不知道咋回事。我之前没有学过python,只有一点C语言和Java基础,估计是哪里搞错了吧。不过博主让我确定了我的修改方式没错hhh