朋友推荐了一个比较隐蔽的盗版电影观看网站,网速特别慢观看不爽,就想是不是可以下载下来看,于是就写了这个小工具
首先,你要有能力在网页里面找到这个M3U8的索引文件,相信对于一个开发人员这个应该很容易,通过浏览器F12找到了这个索引文件,如下,我只截取了一部分,这个文件简单讲一下就是把一个视频切分成了好多小片段,而这个文件就是他们的目录文件,找到这个就容易了,接下来,把里面的每个视频片段下载下来合成就可以了。
第一步,下载索引文件
public static String getIndexFile(String urlpath){
try{
URL url = new URL(urlpath);
//下在资源
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream(),"UTF-8"));
String content = "" ;
String line;
while ((line = in.readLine()) != null) {
content += line + "\n";
}
in.close();
System.out.println(content);
return content;
}catch (Exception e){
e.printStackTrace();
}
return null;
}
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:8
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:4.971633,
ba1620338f71656.ts
#EXTINF:3.336667,
ba1620338f71657.ts
#EXTINF:3.336667,
ba1620338f71658.ts
#EXTINF:3.336667,
ba1620338f71659.ts
#EXTINF:3.336667,
ba1620338f71660.ts
#EXTINF:0.266933,
ba1620338f71661.ts
#EXT-X-ENDLIST
第二步,解析索引文件
public static List analysisIndex(String content){
Pattern pattern = Pattern.compile(".*ts");
Matcher ma = pattern.matcher(content);
List list = new ArrayList();
while(ma.find()){
String s = ma.group();
list.add(s);
System.out.println(s);
}
return list;
}
解析的数据结果,把索引中的ts部分解析出来,方法很多
ba1620338f7035.ts
ba1620338f7036.ts
ba1620338f7037.ts
ba1620338f7038.ts
ba1620338f7039.ts
ba1620338f70