抖音去水印代码解析部分代码,抖音xgorgon还有设备参数生成算法

抖音xgorgon还有设备参数生成算法

 

xgorgon有了他做什么用呢?

可以获取用户所有作品列表

获取抖音搜索热门列表

获取正在直播的用户购物车数据

获取抖音 粉丝列表   

  如果老同一个设备去请求 就会请求不到数据, 而设备算法 就是让你去频繁去请求的时候。

下面就是部分代码示例,需要算法可以在向我发送邮件。[email protected]


抖音去水印代码解析部分代码,抖音xgorgon还有设备参数生成算法_第1张图片

 

抖音去水印代码解析部分代码,抖音xgorgon还有设备参数生成算法_第2张图片

抖音去水印代码解析部分代码,抖音xgorgon还有设备参数生成算法_第3张图片

 

在分享一下抖音的去水印代码解析,当然不只是这一种写法,还有很多种,你要了解他的原理。

@PostMapping("geturl")
    public DataResponse decodeDouiyin(@RequestBody DouyinRequest req ) throws IOException{
        DataResponse dataResponse=new DataResponse();
        //String url1 ="#在抖音,记录美好生活#是你,是你,还是你! http://v.douyin.com/xj4Agk/ 复制此链接,打开【抖音短视频】,直接观看视频!";

        //过滤链接,获取http连接地址
        String finalUrl = decodeHttpUrl(req.getData().getLinkUrl());
        //1.利用Jsoup抓取抖音链接
        //抓取抖音网页
        String htmls = Jsoup.connect(finalUrl).ignoreContentType(true).execute().body();

        //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");
        }

        //5.将链接封装成流
        //注:由于抖音对请求头有限制,只能设置一个伪装手机浏览器请求头才可实现去水印下载
        Map 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");
        headers.put("Content-Encoding","gzip");
       //7.利用Joup获取视频对象,并封装成一个输入流对象
        //BufferedInputStream in = Jsoup.connect(matchUrl).headers(headers).timeout(10000).ignoreContentType(true).execute().bodyStream();
        byte[] ins = Jsoup.connect(matchUrl).maxBodySize(6000000).headers(headers).timeout(15000).ignoreContentType(true).execute().bodyAsBytes();
        String filename=req.getSign()+".mp4";
        //UploadUtil.uploadFile(filename,in);

        //8.保存文件到指定位置
        File fileParent= new File("/home/ftpimages/images/");
        fileParent.setWritable(true, false);
        if(!fileParent.exists()){
            fileParent.mkdirs();
        }

        File file= new File("/home/ftpimages/images/"+filename);
        file.createNewFile();

        BufferedOutputStream out =
                new BufferedOutputStream(
                        new FileOutputStream(file));
        //copyFile(in,out);
        out.write(ins,0,ins.length);
        out.flush();
        out.close();
        //in.close();

        dataResponse.setVideoUrl("/images/"+filename);

        return dataResponse;
    }

 

抖音去水印代码解析部分代码,抖音xgorgon还有设备参数生成算法_第4张图片

需要上述微信小程序前端源码的朋友可以发邮件找我索要  [email protected]

 

 

你可能感兴趣的:(抖音去水印代码解析部分代码,抖音xgorgon还有设备参数生成算法)