抖音去水印java和js版本

//获取视频链接
String url="https://v.douyin.com/efKYWbU/"
//获取视频mid
String mid=HttpUtil.createGet(url).addHeaders(headers).execute().header("Location").split("/")[5];

//通过视频mid获取视频详情
String body= HttpUtil.createGet("https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids="+mid).addHeaders(headers).execute().body();
 
{
	"status_code": 0,
	"item_list": [{
		"statistics": {
			"aweme_id": "6963866852413984007",
			"comment_count": 188,
			"digg_count": 110794,
			"play_count": 0,
			"share_count": 207
		},
		"share_info": {
			"share_desc": "在抖音,记录美好生活",
			"share_title": "#河南 #安阳 宝宝玩耍胳膊脱臼,还没有来得及哭,正骨师傅就治好了@抖音小助手",
			"share_weibo_desc": "#在抖音,记录美好生活##河南 #安阳 宝宝玩耍胳膊脱臼,还没有来得及哭,正骨师傅就治好了@抖音小助手"
		},
		"comment_list": null,
		"geofencing": null,
		"aweme_id": "6963866852413984007",
		"cha_list": [{
			"cid": "1573440268653582",
			"cha_name": "河南",
			"connect_music": null,
			"type": 0,
			"hash_tag_profile": "",
			"is_commerce": false,
			"desc": "",
			"user_count": 0,
			"view_count": 0
		}],
		"images": null,
		"is_preview": 0,
		"group_id": 6963185692679736000,
		"video_text": null,
		"image_infos": null,
		"is_live_replay": false,
		"music": {
			"status": 1,
			"id": 6963867018181463000,
			"mid": "6963867018181462792",
			"cover_large": {
				"uri": "1080x1080/tos-cn-avt-0015/c753d5f2aeb9eba805ea30b93dad0351",
				"url_list": ["https://p26.douyinpic.com/img/tos-cn-avt-0015/c753d5f2aeb9eba805ea30b93dad0351~c5_1080x1080.jpeg?from=116350172", "https://p3.douyinpic.com/img/tos-cn-avt-0015/c753d5f2aeb9eba805ea30b93dad0351~c5_1080x1080.jpeg?from=116350172", "https://p9.douyinpic.com/img/tos-cn-avt-0015/c753d5f2aeb9eba805ea30b93dad0351~c5_1080x1080.jpeg?from=116350172"]
			},
			"cover_thumb": {
				"uri": "168x168/tos-cn-avt-0015/c753d5f2aeb9eba805ea30b93dad0351",
				"url_list": ["https://p29.douyinpic.com/img/tos-cn-avt-0015/c753d5f2aeb9eba805ea30b93dad0351~c5_168x168.jpeg?from=116350172", "https://p11.douyinpic.com/img/tos-cn-avt-0015/c753d5f2aeb9eba805ea30b93dad0351~c5_168x168.jpeg?from=116350172", "https://p6.douyinpic.com/img/tos-cn-avt-0015/c753d5f2aeb9eba805ea30b93dad0351~c5_168x168.jpeg?from=116350172"]
			},
			"play_url": {
				"uri": "https://sf6-cdn-tos.douyinstatic.com/obj/ies-music/6963867021574556429.mp3",
				"url_list": ["https://sf6-cdn-tos.douyinstatic.com/obj/ies-music/6963867021574556429.mp3", "https://sf3-cdn-tos.douyinstatic.com/obj/ies-music/6963867021574556429.mp3"]
			},
			"position": null,
			"title": "@河南广播电视台驻马店站创作的原声",
			"author": "河南广播电视台驻马店站",
			"cover_hd": {
				"uri": "1080x1080/tos-cn-avt-0015/c753d5f2aeb9eba805ea30b93dad0351",
				"url_list": ["https://p26.douyinpic.com/img/tos-cn-avt-0015/c753d5f2aeb9eba805ea30b93dad0351~c5_1080x1080.jpeg?from=116350172", "https://p3.douyinpic.com/img/tos-cn-avt-0015/c753d5f2aeb9eba805ea30b93dad0351~c5_1080x1080.jpeg?from=116350172", "https://p9.douyinpic.com/img/tos-cn-avt-0015/c753d5f2aeb9eba805ea30b93dad0351~c5_1080x1080.jpeg?from=116350172"]
			},
			"cover_medium": {
				"uri": "720x720/tos-cn-avt-0015/c753d5f2aeb9eba805ea30b93dad0351",
				"url_list": ["https://p29.douyinpic.com/img/tos-cn-avt-0015/c753d5f2aeb9eba805ea30b93dad0351~c5_720x720.jpeg?from=116350172", "https://p26.douyinpic.com/img/tos-cn-avt-0015/c753d5f2aeb9eba805ea30b93dad0351~c5_720x720.jpeg?from=116350172", "https://p6.douyinpic.com/img/tos-cn-avt-0015/c753d5f2aeb9eba805ea30b93dad0351~c5_720x720.jpeg?from=116350172"]
			},
			"duration": 15
		},
		"aweme_type": 4,
		"share_url": "https://www.iesdouyin.com/share/video/6963866852413984007/?region=&mid=6963867018181462792&u_code=48&titleType=title&did=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&iid=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&with_sec_did=1",
		"video_labels": null,
		"duration": 15394,
		"label_top_text": null,
		"create_time": 1621401607,
		"video": {
			"play_addr": {
				"uri": "v0300fg10000c2i9vhn1u1atmr5f2o1g",
				"url_list": ["https://aweme.snssdk.com/aweme/v1/playwm/?video_id=v0300fg10000c2i9vhn1u1atmr5f2o1g&ratio=720p&line=0"]
			},
			"height": 1906,
			"ratio": "720p",
			"duration": 15394,
			"vid": "v0300fg10000c2i9vhn1u1atmr5f2o1g",
			"bit_rate": null,
			"cover": {
				"uri": "tos-cn-p-0015/56ac3f2f30c64a789c0211193afc1137",
				"url_list": ["https://p3.douyinpic.com/img/tos-cn-p-0015/56ac3f2f30c64a789c0211193afc1137~c5_300x400.jpeg?from=4257465056_large", "https://p29.douyinpic.com/img/tos-cn-p-0015/56ac3f2f30c64a789c0211193afc1137~c5_300x400.jpeg?from=4257465056_large", "https://p11.douyinpic.com/img/tos-cn-p-0015/56ac3f2f30c64a789c0211193afc1137~c5_300x400.jpeg?from=4257465056_large"]
			},
			"width": 1080,
			"dynamic_cover": {
				"uri": "tos-cn-p-0015/455f60e0025a45e3a3066d6327b71534_1621401611",
				"url_list": ["https://p29.douyinpic.com/obj/tos-cn-p-0015/455f60e0025a45e3a3066d6327b71534_1621401611?from=4257465056_large", "https://p9.douyinpic.com/obj/tos-cn-p-0015/455f60e0025a45e3a3066d6327b71534_1621401611?from=4257465056_large", "https://p26.douyinpic.com/obj/tos-cn-p-0015/455f60e0025a45e3a3066d6327b71534_1621401611?from=4257465056_large"]
			},
			"origin_cover": {
				"url_list": ["https://p6.douyinpic.com/tos-cn-p-0015/75ff489e43244f7cad033f151ef4d822_1621401609~tplv-dy-360p.jpeg?from=4257465056&s=&se=false&sh=&sc=&l=202105192144590102120551985D00C6F2&biz_tag=feed_cover", "https://p9.douyinpic.com/tos-cn-p-0015/75ff489e43244f7cad033f151ef4d822_1621401609~tplv-dy-360p.jpeg?from=4257465056&s=&se=false&sh=&sc=&l=202105192144590102120551985D00C6F2&biz_tag=feed_cover", "https://p11.douyinpic.com/tos-cn-p-0015/75ff489e43244f7cad033f151ef4d822_1621401609~tplv-dy-360p.jpeg?from=4257465056&s=&se=false&sh=&sc=&l=202105192144590102120551985D00C6F2&biz_tag=feed_cover"],
				"uri": "tos-cn-p-0015/75ff489e43244f7cad033f151ef4d822_1621401609"
			},
			"has_watermark": true
		},
		"author": {
			"nickname": "河南广播电视台驻马店站",
			"avatar_thumb": {
				"uri": "100x100/tos-cn-avt-0015/c753d5f2aeb9eba805ea30b93dad0351",
				"url_list": ["https://p3.douyinpic.com/img/tos-cn-avt-0015/c753d5f2aeb9eba805ea30b93dad0351~c5_100x100.jpeg?from=116350172", "https://p26.douyinpic.com/img/tos-cn-avt-0015/c753d5f2aeb9eba805ea30b93dad0351~c5_100x100.jpeg?from=116350172", "https://p6.douyinpic.com/img/tos-cn-avt-0015/c753d5f2aeb9eba805ea30b93dad0351~c5_100x100.jpeg?from=116350172"]
			},
			"avatar_medium": {
				"uri": "720x720/tos-cn-avt-0015/c753d5f2aeb9eba805ea30b93dad0351",
				"url_list": ["https://p11.douyinpic.com/img/tos-cn-avt-0015/c753d5f2aeb9eba805ea30b93dad0351~c5_720x720.jpeg?from=116350172", "https://p9.douyinpic.com/img/tos-cn-avt-0015/c753d5f2aeb9eba805ea30b93dad0351~c5_720x720.jpeg?from=116350172", "https://p5-ipv6.douyinpic.com/img/tos-cn-avt-0015/c753d5f2aeb9eba805ea30b93dad0351~c5_720x720.jpeg?from=116350172"]
			},
			"unique_id": "hntvzmd",
			"followers_detail": null,
			"platform_sync_info": null,
			"uid": "103678413906",
			"short_id": "1362266613",
			"type_label": null,
			"geofencing": null,
			"policy_version": null,
			"signature": "求助帮忙爆料请先关注\n并添加VX:hntvzmdnews\n注明:时间+地点+事件+联系电话",
			"avatar_larger": {
				"uri": "1080x1080/tos-cn-avt-0015/c753d5f2aeb9eba805ea30b93dad0351",
				"url_list": ["https://p26.douyinpic.com/img/tos-cn-avt-0015/c753d5f2aeb9eba805ea30b93dad0351~c5_1080x1080.jpeg?from=116350172", "https://p3.douyinpic.com/img/tos-cn-avt-0015/c753d5f2aeb9eba805ea30b93dad0351~c5_1080x1080.jpeg?from=116350172", "https://p29.douyinpic.com/img/tos-cn-avt-0015/c753d5f2aeb9eba805ea30b93dad0351~c5_1080x1080.jpeg?from=116350172"]
			}
		},
		"promotions": null,
		"long_video": null,
		"forward_id": "0",
		"text_extra": [{
			"start": 33,
			"end": 39,
			"user_id": "6796248446",
			"type": 0,
			"hashtag_name": "",
			"hashtag_id": 0
		}, {
			"start": 0,
			"end": 3,
			"type": 1,
			"hashtag_name": "河南",
			"hashtag_id": 1573440268653582
		}, {
			"type": 1,
			"hashtag_name": "安阳",
			"hashtag_id": 1572864661377038,
			"start": 4,
			"end": 7
		}],
		"risk_infos": {
			"warn": false,
			"type": 0,
			"content": ""
		},
		"desc": "#河南 #安阳 宝宝玩耍胳膊脱臼,还没有来得及哭,正骨师傅就治好了@抖音小助手",
		"author_user_id": 103678413906
	}],
	"extra": {
		"now": 1621431899000,
		"logid": "202105192144590102120551985D00C6F2"
	}
}
JSONObject jsonObject = new JSONObject(body).getJSONArray("item_list").getJSONObject(0);
//获取到视频链接记得替换playwm 成play
String videoSrc=jsonObject.getJSONObject("video")
        .getJSONObject("play_addr").getJSONArray("url_list").get(0).toString()
        .replace("playwm","play");
//然后获取去水印后的视频地址
String videoUrl=HttpUtil.createGet(videoSrc).addHeaders(headers).execute().header("Location");
//剩下的就是视频的基本信息了 标题,背景音乐
String title=jsonObject.get("desc").toString();
String img=jsonObject.getJSONObject("video").getJSONObject("origin_cover").getJSONArray("url_list").get(0).toString();
String gif=jsonObject.getJSONObject("video").getJSONObject("dynamic_cover").getJSONArray("url_list").get(0).toString();
String music=jsonObject.getJSONObject("music").getJSONObject("play_url").getJSONArray("url_list").get(0).toString();





---------------------下面是js版本的原理同上------------------------

let res=await uniCloud.httpclient.request(
"https://v.douyin.com/efKYWbU/",{method:"GET",
dataType: 'text'})
//视频获取mid
let mid=res.headers.location.split("/")[5]
//通过mid获取视频详情
let body= await uniCloud.httpclient.request("https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids="+mid,{dataType: 'text'});

body=JSON.parse(body.data)
//初始化视频信息
res={desc:body.item_list[0].desc,video:body.item_list[0].video.play_addr.url_list[0].replace("playwm","play"),
image:body.item_list[0].video.origin_cover.url_list[0],
music:body.item_list[0].music.play_url.url_list[0]
}
//把视频地址转换成无水印的
let temp=await uniCloud.httpclient.request(
res.video,{method:"GET",
dataType: 'text'})
res.video=temp.headers.location

//打印视频结果
console.log(res)

 
上一篇:网络-ip协议


下一篇:python中删除清除空白列表并清除重复内容最简单的方法