问题越是百思不得其解的时候,往往答案就越是近在眼前
在这里将这个软件免费分享给大家
之前的文章最新抖音视频无水印解析接口及原理中提到的方法,利用了抖音detail接口,被频率限制,已经作古。最近通过分析,发现了5种新的去水印解析的方法。今天先公布其中一种,希望朋友们看完可以有一些启发。
1.不要只是相信别人给你看到的
每一个抖音视频,被分享后,会得到一个链接。就像下面这样:
当你用浏览器打开时,页面提供给你一个有水印的视频。你可以尽情下载播放。
我们条件反射般地打开源代码,看看,sorry了,感到无能为力了,但是事情真的如你的感觉这样子吗?不要只是相信别人给你看到的!
2.换种方式去分析
开发者模式,我们用移动设备的UA去访问它,然后播放,你会看到下面这样。
仍然是有水印的视频,你绝望吗。但是有一根及其敏感的神经却仿佛告诉我:有戏!因为这里我们竟然拿到了点赞,评论,分享!这意味着,此次的请求与之前的请求大相径庭!
3.去抓接口
如愿以偿,我们搞到了它!
curl 'https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=6722308029779332359&dytk=ebc1a7ace35a5e0054230e07a42ddb9cef82f15caf765f8376a424bf15d2f8ad'
-H 'pragma: no-cache'
-H 'cookie: tt_webid=6732009422643807756; _ga=GA1.2.1711193946.1567418091; _ba=BA0.2-20190823-5199e-6g17gEvH0dutXmdoVzfk; _gid=GA1.2.248720943.1570861696'
-H 'accept-encoding: gzip, deflate, br'
-H 'accept-language: zh-CN,zh;q=0.9'
-H 'user-agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1' -H 'accept: */*'
-H 'cache-control: no-cache'
-H 'authority: www.iesdouyin.com'
-H 'x-requested-with: XMLHttpRequest'
-H 'referer: https://www.iesdouyin.com/share/video/6722308029779332359/?region=CN&mid=6701275998849092360&u_code=1613ld41c&titleType=title&utm_source=copy_link&utm_campaign=client_share&utm_medium=android&app=aweme×tamp=1565234977' --compressed
此接口返回的数据如下
{
"status_code": 0,
"item_list": [{
"desc": "这也算非物质文化遗产了吧?#七彩七夕 #女人最迷人的动作 @抖音小助手",
"statistics": {
"aweme_id": "6722308029779332359",
"comment_count": 14517,
"digg_count": 187764
},
"video_labels": null,
"duration": 13600,
"image_infos": null,
"long_video": null,
"aweme_id": "6722308029779332359",
"video_text": null,
"video": {
"cover": {
"uri": "tos-cn-p-0015/0d8b20890aed49d5a8f92ca857d07a44",
"url_list": ["https://p9-dy.byteimg.com/img/tos-cn-p-0015/0d8b20890aed49d5a8f92ca857d07a44~c5_300x400.jpeg", "https://p1-dy.byteimg.com/img/tos-cn-p-0015/0d8b20890aed49d5a8f92ca857d07a44~c5_300x400.jpeg", "https://p3-dy.byteimg.com/img/tos-cn-p-0015/0d8b20890aed49d5a8f92ca857d07a44~c5_300x400.jpeg"]
},
"height": 1280,
"origin_cover": {
"uri": "large/tos-cn-p-0015/22b8a64040ab4ed8908823b8c6007ea9",
"url_list": ["http://p9-dy.byteimg.com/large/tos-cn-p-0015/22b8a64040ab4ed8908823b8c6007ea9.jpeg", "http://p1-dy.byteimg.com/large/tos-cn-p-0015/22b8a64040ab4ed8908823b8c6007ea9.jpeg", "http://p3-dy.byteimg.com/large/tos-cn-p-0015/22b8a64040ab4ed8908823b8c6007ea9.jpeg"]
},
"has_watermark": true,
"play_addr_lowbr": {
"uri": "v0200fee0000bl59elet8ah4rl1hnqa0",
"url_list": ["https://aweme.snssdk.com/aweme/v1/play/?video_id=v0200fee0000bl59elet8ah4rl1hnqa0&line=0&ratio=540p&media_type=4&vr_type=0&improve_bitrate=0&is_play_url=1", "https://api.amemv.com/aweme/v1/play/?video_id=v0200fee0000bl59elet8ah4rl1hnqa0&line=1&ratio=540p&media_type=4&vr_type=0&improve_bitrate=0&is_play_url=1"]
},
"bit_rate": null,
"vid": "v0200fee0000bl59elet8ah4rl1hnqa0",
"play_addr": {
"uri": "v0200fee0000bl59elet8ah4rl1hnqa0",
"url_list": ["https://aweme.snssdk.com/aweme/v1/play/?video_id=v0200fee0000bl59elet8ah4rl1hnqa0&line=0&ratio=540p&media_type=4&vr_type=0&improve_bitrate=0&is_play_url=1", "https://api.amemv.com/aweme/v1/play/?video_id=v0200fee0000bl59elet8ah4rl1hnqa0&line=1&ratio=540p&media_type=4&vr_type=0&improve_bitrate=0&is_play_url=1"]
},
"width": 720,
"dynamic_cover": {
"url_list": ["https://p1-dy.byteimg.com/obj/tos-cn-p-0015/e2993909e165470794f93d5f66c24b4b", "https://p3-dy.byteimg.com/obj/tos-cn-p-0015/e2993909e165470794f93d5f66c24b4b", "https://p9-dy.byteimg.com/obj/tos-cn-p-0015/e2993909e165470794f93d5f66c24b4b"],
"uri": "tos-cn-p-0015/e2993909e165470794f93d5f66c24b4b"
},
"ratio": "540p",
"download_addr": {
"uri": "v0200fee0000bl59elet8ah4rl1hnqa0",
"url_list": ["https://aweme.snssdk.com/aweme/v1/play/?video_id=v0200fee0000bl59elet8ah4rl1hnqa0&line=0&ratio=540p&watermark=1&media_type=4&vr_type=0&improve_bitrate=0&logo_name=aweme", "https://api.amemv.com/aweme/v1/play/?video_id=v0200fee0000bl59elet8ah4rl1hnqa0&line=1&ratio=540p&watermark=1&media_type=4&vr_type=0&improve_bitrate=0&logo_name=aweme"]
},
"duration": 13600
},
"text_extra": null,
"position": null,
"uniqid_position": null,
"promotions": null,
"cha_list": null,
"comment_list": null,
"geofencing": null,
"label_top_text": null
}],
"extra": {
"now": 1570862145000,
"logid": "201910121435450100140460120C0A186B"
}
}
以下是关键信息简介
字段 类型 含义
item_list array 视频列表,由于只有一个视频,所以它的长度为1 ,里面这个就是视频详情
statistics json 包括评论点赞等信息
video json 这不就是我们朝思暮想的好朋友么
download_addr json 这不就是我们朝思暮想的好朋友么×2
play_addr json 这不就是我们朝思暮想的好朋友么×3
值得注意的是,此处的download_addr和play_addr与抖音app端的返回是一致的,play_addr为无水印源,download_addr为有水印源。有可能是屏幕对面的程序员老哥copy代码写的接口。又或者此处的数据也只是一个抖音的RMI。
4.接口参数
上面我们已经得到了接口
curl 'https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=6722308029779332359&dytk=ebc1a7ace35a5e0054230e07a42ddb9cef82f15caf765f8376a424bf15d2f8ad'
-H 'pragma: no-cache'
-H 'cookie: tt_webid=6732009422643807756; _ga=GA1.2.1711193946.1567418091; _ba=BA0.2-20190823-5199e-6g17gEvH0dutXmdoVzfk; _gid=GA1.2.248720943.1570861696'
-H 'accept-encoding: gzip, deflate, br'
-H 'accept-language: zh-CN,zh;q=0.9'
-H 'user-agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1' -H 'accept: */*'
-H 'cache-control: no-cache'
-H 'authority: www.iesdouyin.com'
-H 'x-requested-with: XMLHttpRequest'
-H 'referer: https://www.iesdouyin.com/share/video/6722308029779332359/?region=CN&mid=6701275998849092360&u_code=1613ld41c&titleType=title&utm_source=copy_link&utm_campaign=client_share&utm_medium=android&app=aweme×tamp=1565234977' --compressed
其中最重要的一个参数就是 dytk
这个参数,在短链重定向页面中直接返回了
至于item_ids,在短链重定向地址里你可以轻松获取到。
5.结尾
至此,你可以直接通过短链获取到 item_ids 和 dytk ,并通过 iteminfo接口获取到无水印链接。
在这里我要作一点申明:这篇文章分享给大家,是为了让大家学习分析的过程,不得用于非法用途。
其实像这种api的分析,一个关键所在便是:屏幕对面的程序员也是人,他也会有和你很像的习惯,他也会偷懒。如果是你在写抖音的接口,你会怎么写?
去水印的办法绝对还有很多,光我知道的还行的通的就还有4种,有的十分暴力,有的十分巧妙。
需要源码的 请在评论下方留下你的邮箱吧................