问题越是百思不得其解的时候,往往答案就越是近在眼前
在这里将这个软件免费分享给大家 传送门
之前的文章最新抖音视频无水印解析接口及原理中提到的方法,利用了抖音detail接口,被频率限制,已经作古。最近通过分析,发现了5种新的去水印解析的方法。今天先公布其中一种,希望朋友们看完可以有一些启发。
1.不要只是相信别人给你看到的
每一个抖音视频,被分享后,会得到一个链接。就像下面这样:
https://v.douyin.com/Du2M7R
当你用浏览器打开时,页面提供给你一个有水印的视频。你可以尽情下载播放。
我们条件反射般地打开源代码,看看,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。
Anywey,video.play_addr.url_list 就存放着大家感兴趣的东西。在发光。
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种,有的十分暴力,有的十分巧妙。
如果你能读到这结尾,说明你是一个有心的人,我有一个群,里面都是对这方面感兴趣的程序员,欢迎你加入我们群:
695623459