吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2421|回复: 5
收起左侧

[Java 转载] (新版作废)java抖音去水印(原理请参考上一个帖子)

[复制链接]
三木猿 发表于 2020-9-8 14:33
本帖最后由 三木猿 于 2020-9-14 09:57 编辑

上一条帖子进行了简单的分析
去抖音水印简单分析教程
https://www.52pojie.cn/thread-1262959-1-1.html
有什么不对的地方请大佬们指教
[XML] 纯文本查看 复制代码
<dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>4.1.0</version>
        </dependency>
<dependency>
            <groupId>org.jsoup</groupId>
            <artifactId>jsoup</artifactId>
            <version>1.11.2</version>
</dependency>

[Java] 纯文本查看 复制代码
import cn.hutool.core.map.MapUtil;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONObject;import org.jsoup.Connection;
import org.jsoup.Jsoup;

import java.io.*;
import java.net.URL;
import java.net.URLConnection;
import java.util.HashMap;

/**
 * [url=home.php?mod=space&uid=686208]@AuThor[/url] 三木猿
 * [url=home.php?mod=space&uid=1248337]@version[/url] 1.0
 * @Title:
 * [url=home.php?mod=space&uid=686237]@date[/url] 2020/9/7 10:43
 */
public class test2 {

    public static void main(String[] args) throws Exception {
        String url = "https://v.douyin.com/JB9Fveb/";
        final String videoPath = "https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=";
        Connection con = Jsoup.connect(url);
        con.header("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");
        Connection.Response resp = con.method(Connection.Method.GET).execute();
        String strUrl = resp.url().toString();
        String itemId = strUrl.substring(strUrl.indexOf("video/"), strUrl.lastIndexOf("/")).replace("video/", "");
        String videoUrl = videoPath + itemId;
        String jsonStr = Jsoup.connect(videoUrl).ignoreContentType(true).execute().body();
        JSONObject json =new JSONObject(jsonStr);
        String videoAddress = json.getJSONArray("item_list").getJSONObject(0).getJSONObject("video").getJSONObject("play_addr").getJSONArray("url_list").get(0).toString();
        HashMap headers = MapUtil.newHashMap();
            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");
        String finalVideoAddress = HttpUtil.createGet(videoAddress).addHeaders(headers).execute().header("Location");
        downloadVideo(finalVideoAddress);
    }

    private static void downloadVideo(String videoAddress) throws Exception {
        int byteRead;
        URL url = new URL(videoAddress);
        //获取链接
        URLConnection conn = url.openConnection();
        //输入流
        InputStream inStream = conn.getInputStream();
        //封装一个保存文件的路径对象
        File fileSavePath = new File("d:\\SanMu\\1.mp4");
        //注:如果保存文件夹不存在,那么则创建该文件夹
        File fileParent = fileSavePath.getParentFile();
        if (!fileParent.exists()) {
            fileParent.mkdirs();
        }
        //写入文件
        FileOutputStream fs = new FileOutputStream(fileSavePath);
        byte[] buffer = new byte[1024];
        while ((byteRead = inStream.read(buffer)) != -1) {
            fs.write(buffer, 0, byteRead);
        }
        inStream.close();
        fs.close();
        System.out.println("\n-----视频保存路径-----\n" + fileSavePath.getAbsolutePath());
    }
}

免费评分

参与人数 1吾爱币 +2 热心值 +1 收起 理由
天空宫阙 + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

1113235746 发表于 2020-9-8 14:55
导了hutool的包就不需要alibaba了吧  
 楼主| 三木猿 发表于 2020-9-8 15:03
1113235746 发表于 2020-9-8 14:55
导了hutool的包就不需要alibaba了吧

多谢指点,还真不晓得hutool也有Json解析方法
xuzhouxxp 发表于 2020-9-8 15:08
believed 发表于 2020-9-8 17:11
开拓思路,正好要学习
drundragon 发表于 2020-9-13 19:30
不错 不错  学习了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-30 04:34

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表