本帖最后由 anhkgg 于 2019-2-15 13:05 编辑
感谢@Captain-Li,我是看了他的帖子才去写这个脚本的。
声明:本脚本仅供娱乐和技术交流,请到影院支持正版。
国产电影不易,请多多支持,这里只是技术交流。
微博很早就爆出春节档几部电影资源别泄露,主创团队纷纷追责,我只是吃瓜群众,看过后如过眼云烟,毫不在意。
这天浏览吾爱论坛想学习众大佬技术时,被一标题党主题吸引过去,《以**流**浪**地**球**为例,分析某影院的网页播放器以及某电影网站》。
那四个字魔力太大,毕竟已经被各个电影相关公众号安利过无数次,也没时间去电影院看,心里痒痒,点开帖子开始学习一轮新技术。
该站不知怎么拿到电影资源的,很全,都有,猜测可能高价从电影院买的~
不说这个,帖子大佬格式丑陋(见谅)的介绍一波自己的分析,主要是m3u8格式资源,如何下载合并的问题,以及如何找到m3u8资源的链接等等。
这个有过经验,轻车熟路,找到链接,然后怎么下载呢,嗯,找到一个400多star的M3U8 Downloader项目,试用一番。
看着还可以,但是总是遇到下载卡住的问题,只成功下载了一部,猜测是网站服务器不稳定或者有限制之类的,so,不行,自己来吧。
此类网页解析、下载相关我都喜欢用python,python就是这么强大。
几下搞了个多线程版本,主要解决断线的问题,ok,基本完成下载功能(见main.py)。
m3u8格式是分割为很多ts文件,一一下载后,需要合并(这是粗略理解,具体格式请看m3u8文档),合并本来想用copy命令,死活不行,没法用py写了个read+write完成合并(见merge.py)。
现在,可以开心的看电影了。
不过还有个问题,每次都要浏览器手工找地址,真麻烦,来个一键搜索、解析、下载、合并的功能吧,这样就方便多了(具体细节不说了,见search.py代码和注释)。
最后脚本完成。
使用方法:
[C++] 纯文本查看 复制代码 python main.py 电影名
// main.exe 电影名
说明:- 仅支持电影下载,其他功能可自行增加
- 视频资源为m3u8,并没有严格遵循其格式解析,仅仅简单解析ts列表,多线程下载ts
- 所有ts下载完成后,自行合并
最后的最后,一贯的开源(写的比较随意、轻喷)。
代码地址:https://github.com/anhkgg/MovieHunter
exe下载地址:https://raw.githubusercontent.com/anhkgg/MovieHunter/master/bin/main.exe |