-------------------------------------------

抖音更新了API,此方法已失效。

-------------------------------------------

原理:将有水印视频URL中的“playwm”替换为“paly”。

使用到了阿里的FastJSON解析JSON数据

package pers.LovelyBunny;import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;// https://maven.aliyun.com/repository/public/com/alibaba/fastjson/1.2.76/fastjson-1.2.76.jar
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;/*** 解析抖音无水印视频* * @author 张泽楠* @since 2021-06-15**/
public class DouYinParse {public static void main(String[] args) {System.out.println(parseDouYinVideo("https://v.douyin.com/ex3VFQs/"));}/*** * 解析抖音无水印视频* * @author 张泽楠* @param httpURL*            抖音视频分享链接* @return 抖音无水印视频链接*/public static String parseDouYinVideo(String httpURL) {String result = null;// 获取重定向后的URL地址,并从中截取item_idsString itemIDs = getRedirectsURL(httpURL).split("/")[5];// 使用item_ids作为参数,请求携带有带水印的视频URL的JSON数据String jsonString = getJSON("https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=" + itemIDs);// 使用FastJSON解析为JSONObject对象JSONObject json = JSON.parseObject(jsonString);// 解析JSON数据,获取带水印的视频URLObject videoURL = json.getJSONArray("item_list").getJSONObject(0).getJSONObject("video").getJSONObject("play_addr").getJSONArray("url_list").get(0);// 替换URL关键位置,得到无水印视频URLresult = videoURL.toString().replace("/playwm/", "/play/");return result;}/*** * 获取重定向后的URL地址* * @author 张泽楠* @param httpURL*            原URL* @return 重定向后的URL*/public static String getRedirectsURL(String httpURL) {String result = null;HttpURLConnection conn = null;try {// 配置请求头conn = (HttpURLConnection) new URL(httpURL).openConnection();// 禁止重定向conn.setInstanceFollowRedirects(false);// 获取重定向后的URLresult = conn.getHeaderField("Location");} catch (Exception e) {e.printStackTrace();} finally {// 清理资源conn.disconnect();}return result;}/*** * 以GET的方式请求JSON数据* * @author 张泽楠* @param httpURL*            请求的URL* @return 请求到的JSON数据*/public static String getJSON(String httpURL) {HttpURLConnection connection = null;InputStream is = null;InputStreamReader isr = null;BufferedReader br = null;String result = null;try {URL url = new URL(httpURL);// 配置请求头connection = (HttpURLConnection) url.openConnection();connection.setRequestMethod("GET");// 发送HTTP连接请求connection.connect();// 如果请求连接成功则接收数据if (connection.getResponseCode() == 200) {// 读取并保存JSON数据is = connection.getInputStream();isr = new InputStreamReader(is, "UTF8");br = new BufferedReader(isr);StringBuffer sbf = new StringBuffer();String temp = null;while ((temp = br.readLine()) != null) {sbf.append(temp);}result = sbf.toString();}} catch (Exception e) {e.printStackTrace();} finally {// 关闭资源try {if (null != br) {br.close();}if (null != isr) {isr.close();}if (null != is) {is.close();}} catch (Exception e) {e.printStackTrace();}// 清理资源connection.disconnect();}return result;}
}

[程序设计]Java实现解析抖音无水印视频相关推荐

  1. 抖音提取封面php,PHP 解析抖音无水印视频

    PHP解析抖音无水印视频后端代码 QQ截图20190329052258.png 20190329052336.png /* author 刘明野 site www.liumingye.cn */ fu ...

  2. 试验解析抖音无水印视频【PHP版】

    试验了网上很多抖音解析无水印视频的API,发现很多都是不稳定的.连今天要分享的这个api也是,总是那么不稳定.不过还好,总算是解析出了无水印视频.很多东西还是要自己调试一下才会知道哪里出bug了! 看 ...

  3. curl取跳转地址 php_用PHP如何实现解析抖音无水印视频

    很多时候你在douyin里看到了一个短视频,想复制下来自己编辑文字来发布,可是视频里的水印却是原者的.这个时候你想把水印去掉,你要如何做呢?这里提供PHP实现去除水印的主要方法,其实很简单. 使用方法 ...

  4. 用PHP如何实现解析抖音无水印视频

    很多时候你在douyin里看到了一个短视频,想复制下来自己编辑文字来发布,可是视频里的水印却是原者的.这个时候你想把水印去掉,你要如何做呢?这里提供PHP实现去除水印的主要方法,其实很简单. 使用方法 ...

  5. 如何在线获取抖音无水印视频和视频背景音乐?

    如今抖音火遍大江南北,慢慢的已经融入了大家的生活,就像淘宝.微信一样,并且有自己的吸引人的特色. 普通用户看看视频就过去了,但是对于营销人员往往想要搬运视频,但是直接转的都是带水印的 发到其他平台 肯 ...

  6. java开发最新获取抖音无水印视频和背景音乐

    java版最新获取抖音无水印视频和背景音乐, 这个工具已经被我放到我的网站上做成了在线抖音无水印获取工具: 在线演示地址:http://www.yzcopen.com/video/dywsy 废话不多 ...

  7. 抖音无水印视频爬虫(二)——爬虫的实现

    抖音无水印视频爬虫(二)--爬虫的实现 前面的抖音无水印视频爬虫(一)--踩坑,已经讲了相关的原理以及实现的过程 一.环境&Python Modules 1.OS:Deepin 15.10.1 ...

  8. python下载抖音无水印视频

    只要一刷抖音视频,基本上就是停不下来,看到一些喜欢的视频,就想下载下来,但是通过正常手段下载的视频都会带有抖音的水印,今天就一起来使用非正常手段来看看怎么获取无水印抖音视频. 1.获取视频链接地址 这 ...

  9. c语言抓取抖音视频,【FiddlerScript】利用Fiddler中的FiddlerScript自动抓取抖音无水印视频并且自动保存...

    本帖最后由 小白大侠 于 2021-3-14 13:55 编辑 Fiddler自动抓取抖音无水印视频并且自动保存 前言:这段代码实用性不大,大量数据处理容易造成Fiddler卡死,只是希望给未来写Fi ...

  10. 用 Python 下载抖音无水印视频

    说起抖音,大家或多或少应该都接触过,如果大家在上面下载过视频,一定知道我们下载的视频是带有水印的,那么我们有什么方式下载不带水印的视频呢?其实用 Python 就可以做到,下面我们来看一下. 很多人学 ...

最新文章

  1. PostgreSQL(从版本9.3至11.2)任意命令执行漏洞 cve-2019-9193
  2. TCP/IP详解--学习笔记(6)-UDP协议
  3. Flex的Array和ArrayCollection
  4. 电脑故障维修:新手必看的修电脑技巧!
  5. ftp服务器新建虚拟目录,ftp服务器 虚拟目录
  6. python sftp_python中实现sftp
  7. 计算机lab模式适用于,计算机考证二级选择题1
  8. linux modbus工具,基于ARM-Linux的Modbus串口服务器设计
  9. C#写的34401A串口232数据读取程序
  10. 数据绑定控件Reperter
  11. 中国汉字一、二级字库的汉字与unicode编码(十六进制)对照表(收藏)
  12. cenetos 查看字体库_Centos7 安装字体库中文字体
  13. 安卓动画两种基本实现方式
  14. 23种设计模式学习 [20万字超长笔记] (下)
  15. 人工智能算法(一)进化算法
  16. 模块化开发RequireJS之shim配置
  17. 二维码制作教程分享,大家一起来学习吧!
  18. git的本地仓库在哪里
  19. Golang环境变量设置(二)--GOMODULEGOPROXY
  20. 算法的评价标准:ROC,假阳性,mape

热门文章

  1. 矩阵乘法Java实现
  2. 使用html查看dicom,LEADTOOLS构建HTML5 DICOM/PACS查看器(二)
  3. 超级计算机更深的蓝,国际象棋发生革命性变化 老棋手深感力不从心
  4. 测试英语语法的软件,1Checker,一款实用的英语语法检测软件
  5. 带你理解 Hanoi 汉诺塔递归算法
  6. javaWeb随机生成网页验证码图片
  7. dB、dBm、dBw和w的换算关系
  8. 数据库系统和数据库管理系统的定义以及数据库管理系统的作用
  9. 江苏计算机一级考试操作题题库,江苏省计算机一级考试填空题题库
  10. 【聚类算法】| Kmeans算法的Python实现(以西瓜数据集为例)