伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

java开发抖音短视频无水印下载工具

来源:本站原创 浏览:42次 时间:2023-07-04
思路分析

首先在抖音APP段选择你喜欢的视频进行分享,一般分享链接都是这样的:“http://v.douyin.com/111113/”,这并不是真的下载地址,在浏览器中输入上述地址,发现重定向到一个新的地址,也就是带有水印的播放地址。

在302相应头中location,这就是视频重定向地址,在该地址请求中返回的js代码中发现以下地址就是请求带有水印的播放地址。

只需要把地址中palywm中的wm删掉就是视频无水印流地址。

代码实现

1、利用Jsoup抓取抖音分享链接,在重定向返回的网页中匹配水印流播放地址,然后把palywm中的wm删掉就是视频无水印流地址

//1.利用Jsoup抓取抖音链接        String htmls = Jsoup.connect(url).ignoreContentType(true).execute().body(); //抓取抖音网页        //System.out.println(htmls); //做测试时使用        //2.利用正则匹配可以抖音下载链接        //playAddr: "https://aweme.snssdk.com/aweme/v1/playwm/?video_id=v0200ffc0000bfil6o4mavffbmroeo80&line=0",        //具体匹配内容格式:「https://aweme.snssdk.com/aweme/...line=0」        Pattern patternCompile = Pattern.compile("(?<=playAddr: \")https?://.+(?=\",)");        //利用Pattern.compile("正则条件").matcher("匹配的字符串对象")方法可以将需要匹配的字段进行匹配封装 返回一个封装了匹配的字符串Matcher对象        //3.匹配后封装成Matcher对象        Matcher m = patternCompile.matcher(htmls);        //4.①利用Matcher中的group方法获取匹配的特定字符串 ②利用String的replace方法替换特定字符,得到抖音的去水印链接        String matchUrl = "";        while (m.find()) {            matchUrl = m.group(0).replaceAll("playwm", "play");        }

2、替换后,下载无水印流视频,需要封装请求头。

Map<String, String> headers = new HashMap<>();        headers.put("Connection", "keep-alive");        headers.put("Host", "aweme.snssdk.com");        headers.put("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 12_1_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/16D57 Version/12.0 Safari/604.1");        //6.利用Joup获取视频对象,并作封装成一个输入流对象        BufferedInputStream in = Jsoup.connect(matchUrl).headers(headers).timeout(10000).ignoreContentType(true).execute().bodyStream();               //7.封装一个保存文件的路径对象        File fileSavePath = new File("video/"+ Math.random() * 100+".mp4");        //注:如果保存文件夹不存在,那么则创建该文件夹        File fileParent = fileSavePath.getParentFile();        if (!fileParent.exists()) {            fileParent.mkdirs();        }        //8.新建一个输出流对象        OutputStream out =                new BufferedOutputStream(                        new FileOutputStream(fileSavePath));        //9.遍历输出文件        int b;        while ((b = in.read()) != -1) {            out.write(b);        }        out.close();//关闭输出流        in.close(); //关闭输入流

无水印小程序: 微信公众号:

  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net