抖音视频去水印

实现思路


 

首先需要在抖音复制一个视频链接,【癞蛤蟆想吃天鹅肉。%表白 %每帧都是表情包 https://v.douyin.com/Jpjr22a/ 复制此链接,打开抖音搜索,直接观看视频!】

复制其中的视频链接进行访问,会跳转到如下界面

 

 

可以看到复制链接打开后域名由www.v.douyin.com 变成了 www.iesdouyin.com ,可见其发生了重定向

F12查看一下这个页面,发现有一个video标签,把src链接复制出来看一下

 

 

果然是获取到了视频!!

 

 

既然获取到了视频,接下来也就是去水印的问题了,看一下这个链接
https://aweme.snssdk.com/aweme/v1/playwm/?video_id=v0300ff50000bvjhii2m4tg2rat9l3l0&ratio=720p&line=0

有没有感觉这个playwn 的wx有点像water mask的简写呢,去掉试一下

 

我顶! 还真获取到了!!!
这样的话我们就可以直接获取 https://v.douyin.com/Jpjr22a/ 这个链接重定向后页面的body,然后使用正则匹配到带水印的视频链接,再把链接中的playwn替换成play,就搞定啦

 

 


还有一种方式


直接访问分享的链接,我们在重定向后的页面打开NetWork,然后刷新一下

 

 

可以看到发送了一个ajax请求,item_ids应该是视频的id,点击查看响应的是一个json,复制到格式化工具中得到的是:

{
	"status_code": 0,
	"item_list": [{
		"video_labels": null,
		"video_text": null,
		"is_live_replay": false,
		"music": {
			"title": "@悠创作的原声",
			"cover_hd": {
				"uri": "tos-cn-i-0813/f055619f58ac43a2bf24e91c8369f947",
				"url_list": ["https://p3-dy-ipv6.byteimg.com/img/tos-cn-i-0813/f055619f58ac43a2bf24e91c8369f947~c5_1080x1080.jpeg?from=4010531038", "https://p6.douyinpic.com/img/tos-cn-i-0813/f055619f58ac43a2bf24e91c8369f947~c5_1080x1080.jpeg?from=4010531038", "https://p9.douyinpic.com/img/tos-cn-i-0813/f055619f58ac43a2bf24e91c8369f947~c5_1080x1080.jpeg?from=4010531038"]
			},
			"cover_large": {
				"uri": "tos-cn-i-0813/f055619f58ac43a2bf24e91c8369f947",
				"url_list": ["https://p3-dy-ipv6.byteimg.com/img/tos-cn-i-0813/f055619f58ac43a2bf24e91c8369f947~c5_1080x1080.jpeg?from=4010531038", "https://p6.douyinpic.com/img/tos-cn-i-0813/f055619f58ac43a2bf24e91c8369f947~c5_1080x1080.jpeg?from=4010531038", "https://p9.douyinpic.com/img/tos-cn-i-0813/f055619f58ac43a2bf24e91c8369f947~c5_1080x1080.jpeg?from=4010531038"]
			},
			"cover_thumb": {
				"uri": "tos-cn-i-0813/f055619f58ac43a2bf24e91c8369f947",
				"url_list": ["https://p3-dy-ipv6.byteimg.com/img/tos-cn-i-0813/f055619f58ac43a2bf24e91c8369f947~c5_168x168.webp?from=4010531038", "https://p29-dy.byteimg.com/img/tos-cn-i-0813/f055619f58ac43a2bf24e91c8369f947~c5_168x168.webp?from=4010531038", "https://p9.douyinpic.com/img/tos-cn-i-0813/f055619f58ac43a2bf24e91c8369f947~c5_168x168.webp?from=4010531038", "https://p3-dy-ipv6.byteimg.com/img/tos-cn-i-0813/f055619f58ac43a2bf24e91c8369f947~c5_168x168.jpeg?from=4010531038"]
			},
			"play_url": {
				"uri": "https://sf3-cdn-tos.douyinstatic.com/obj/ies-music/6908003385950505735.mp3",
				"url_list": ["https://sf3-cdn-tos.douyinstatic.com/obj/ies-music/6908003385950505735.mp3", "https://sf6-cdn-tos.douyinstatic.com/obj/ies-music/6908003385950505735.mp3"]
			},
			"duration": 9,
			"status": 1,
			"id": 6908003431412174000,
			"mid": "6908003431412173575",
			"author": "悠",
			"cover_medium": {
				"uri": "tos-cn-i-0813/f055619f58ac43a2bf24e91c8369f947",
				"url_list": ["https://p9-dy.byteimg.com/img/tos-cn-i-0813/f055619f58ac43a2bf24e91c8369f947~c5_720x720.jpeg?from=4010531038", "https://p1-dy-ipv6.byteimg.com/img/tos-cn-i-0813/f055619f58ac43a2bf24e91c8369f947~c5_720x720.jpeg?from=4010531038", "https://p3.douyinpic.com/img/tos-cn-i-0813/f055619f58ac43a2bf24e91c8369f947~c5_720x720.jpeg?from=4010531038"]
			},
			"position": null
		},
		"desc": "癞蛤蟆想吃天鹅肉。#表白 #每帧都是表情包",
		"share_info": {
			"share_weibo_desc": "#在抖音,记录美好生活#癞蛤蟆想吃天鹅肉。#表白 #每帧都是表情包",
			"share_desc": "在抖音,记录美好生活",
			"share_title": "癞蛤蟆想吃天鹅肉。#表白 #每帧都是表情包"
		},
		"geofencing": null,
		"forward_id": "0",
		"aweme_id": "6910519894912109827",
		"text_extra": [{
			"end": 12,
			"type": 1,
			"hashtag_name": "表白",
			"hashtag_id": 1553309084406785,
			"start": 9
		}, {
			"type": 1,
			"hashtag_name": "每帧都是表情包",
			"hashtag_id": 1589464115430413,
			"start": 13,
			"end": 21
		}],
		"duration": 6129,
		"risk_infos": {
			"warn": false,
			"type": 0,
			"content": ""
		},
		"label_top_text": null,
		"group_id": 6910519894912110000,
		"cha_list": [{
			"cha_name": "表白",
			"desc": "",
			"user_count": 0,
			"connect_music": null,
			"type": 0,
			"view_count": 0,
			"hash_tag_profile": "",
			"cid": "1553309084406785",
			"is_commerce": false
		}],
		"share_url": "https://www.iesdouyin.com/share/video/6910519894912109827/?region=&mid=6908003431412173575&u_code=48&titleType=title&did=0&iid=0",
		"comment_list": null,
		"author_user_id": 2049117125355886,
		"long_video": null,
		"promotions": null,
		"is_preview": 0,
		"create_time": 1608980812,
		"author": {
			"geofencing": null,
			"policy_version": null,
			"type_label": null,
			"nickname": "表情分享站",
			"signature": "表情分享,谢谢关注!\n取图+微信公众号:表情窝",
			"avatar_larger": {
				"url_list": ["https://p3-dy-ipv6.byteimg.com/aweme/1080x1080/3170f000be146459d1113.jpeg?from=4010531038", "https://p9.douyinpic.com/aweme/1080x1080/3170f000be146459d1113.jpeg?from=4010531038", "https://p1-dy-ipv6.byteimg.com/aweme/1080x1080/3170f000be146459d1113.jpeg?from=4010531038"],
				"uri": "3170f000be146459d1113"
			},
			"avatar_medium": {
				"url_list": ["https://p3.douyinpic.com/aweme/720x720/3170f000be146459d1113.jpeg?from=4010531038", "https://p29-dy.byteimg.com/aweme/720x720/3170f000be146459d1113.jpeg?from=4010531038", "https://p9-dy.byteimg.com/aweme/720x720/3170f000be146459d1113.jpeg?from=4010531038"],
				"uri": "3170f000be146459d1113"
			},
			"followers_detail": null,
			"platform_sync_info": null,
			"uid": "2049117125355886",
			"short_id": "3636122949",
			"avatar_thumb": {
				"uri": "3170f000be146459d1113",
				"url_list": ["https://p29-dy.byteimg.com/aweme/100x100/3170f000be146459d1113.jpeg?from=4010531038", "https://p3-dy-ipv6.byteimg.com/aweme/100x100/3170f000be146459d1113.jpeg?from=4010531038", "https://p9.douyinpic.com/aweme/100x100/3170f000be146459d1113.jpeg?from=4010531038"]
			},
			"unique_id": "biaoqing2020"
		},
		"video": {
			"play_addr": {
				"uri": "v0300ff50000bvjhii2m4tg2rat9l3l0",
				"url_list": ["https://aweme.snssdk.com/aweme/v1/playwm/?video_id=v0300ff50000bvjhii2m4tg2rat9l3l0&ratio=720p&line=0"]
			},
			"height": 1920,
			"origin_cover": {
				"uri": "tos-cn-p-0015/1081c181f5034a0181e7e2c2b04f6b16_1608980813",
				"url_list": ["https://p29-dy.byteimg.com/tos-cn-p-0015/1081c181f5034a0181e7e2c2b04f6b16_1608980813~tplv-dy-360p.jpeg?from=2563711402", "https://p3-dy-ipv6.byteimg.com/tos-cn-p-0015/1081c181f5034a0181e7e2c2b04f6b16_1608980813~tplv-dy-360p.jpeg?from=2563711402", "https://p9-dy.byteimg.com/tos-cn-p-0015/1081c181f5034a0181e7e2c2b04f6b16_1608980813~tplv-dy-360p.jpeg?from=2563711402"]
			},
			"has_watermark": true,
			"bit_rate": null,
			"vid": "v0300ff50000bvjhii2m4tg2rat9l3l0",
			"cover": {
				"uri": "tos-cn-p-0015/476ad9b3b1c043249f138133784b7bec",
				"url_list": ["https://p5-dy-ipv6.byteimg.com/img/tos-cn-p-0015/476ad9b3b1c043249f138133784b7bec~c5_300x400.jpeg?from=2563711402_large", "https://p9.douyinpic.com/img/tos-cn-p-0015/476ad9b3b1c043249f138133784b7bec~c5_300x400.jpeg?from=2563711402_large", "https://p6-dy-ipv6.byteimg.com/img/tos-cn-p-0015/476ad9b3b1c043249f138133784b7bec~c5_300x400.jpeg?from=2563711402_large"]
			},
			"width": 1080,
			"dynamic_cover": {
				"uri": "tos-cn-p-0015/e10109578ccb43fbb4c54e2e9bdb7afc_1608980814",
				"url_list": ["https://p5-dy-ipv6.byteimg.com/obj/tos-cn-p-0015/e10109578ccb43fbb4c54e2e9bdb7afc_1608980814?from=2563711402_large", "https://p29.douyinpic.com/obj/tos-cn-p-0015/e10109578ccb43fbb4c54e2e9bdb7afc_1608980814?from=2563711402_large", "https://p9-dy.byteimg.com/obj/tos-cn-p-0015/e10109578ccb43fbb4c54e2e9bdb7afc_1608980814?from=2563711402_large"]
			},
			"ratio": "720p",
			"duration": 6129
		},
		"statistics": {
			"digg_count": 61422,
			"play_count": 0,
			"aweme_id": "6910519894912109827",
			"comment_count": 14082
		},
		"aweme_type": 4,
		"image_infos": null
	}],
	"extra": {
		"now": 1610525887000,
		"logid": "20210113161807010015034211500632E2"
	}
}

可以看到数据还是挺丰富的,视频的地址是在item_list下video.play_addr.url_list中,复制下这个地址用浏览器访问一下果然得到了视频

 

不过这个视频也是带水印的,把视频链接中的playwn改成play就可以啦

思路总结

1.访问客户端分享文本中的链接,从重定向后的url中提取视频id,https://www.iesdouyin.com/share/video/后的数字就是视频id。
2.访问https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=视频id获取有关该视频的json字符串。
3.从得到的json字符串中提取视频播放地址,在item_list下video.play_addr.url_list中。
4.将视频地址中的playwm替换为play。
5.使用移动端的user-agent访问替换后的视频地址即可得到无抖音水印的视频。

 

需要的核心代码同学可以在下方留言,另外附上一张自己做的去水印的小程序

 

 

 

此文章参考思路:https://www.cnblogs.com/xyz-s/p/13634757.html

 

posted @ 2021-01-19 11:13  徐昌琦  阅读(1724)  评论(0编辑  收藏  举报