We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
这个代码的需求是基友问我有没有方法可以下载到抖音无水印的视频,他之前用的下载方式要收费了。 遇到这种情况,第一步当然是,我先找找资料看再说,:)
于是上 github 搜了一阵子,发现已经有一些抖音视频下载的 repo 了。下载了一些其中的方案进行尝试,发现并不能满足要求。有些是 repo 不在维护,有些则是用的接口已经变化了。只能自己写代码了。(PS:其实还有偷懒的方法的,后面说)
在抖音 APP 内操作分享可以得到一个链接(分享短链),如 http://v.douyin.com/LmKj5u/,直接打开这个链接会重定向到一个正式页面 https://www.iesdouyin.com/share/video/6642982187945692430/?region=CN&mid=6642982238554196744&u_code=j3eg281d&titleType=title×tamp=1546699260&utm_campaign=client_share&app=aweme&utm_medium=ios&tt_from=copy&utm_source=copy&iid=56485046541,点击页面上的播放按钮,视频自动加载播放。但是这个播放的视频是带有水印。
http://v.douyin.com/LmKj5u/
https://www.iesdouyin.com/share/video/6642982187945692430/?region=CN&mid=6642982238554196744&u_code=j3eg281d&titleType=title×tamp=1546699260&utm_campaign=client_share&app=aweme&utm_medium=ios&tt_from=copy&utm_source=copy&iid=56485046541
同时,抖音对视频还做了重定向,如下:
// 视频地址 https://aweme.snssdk.com/aweme/v1/playwm/?video_id=v0300f8d0000bgo9pvdpimm1au37qs2g&line=0 // 视频重定向地址 http://v9-dy-z.ixigua.com/2be280f0130a0100349ba5dfd4a03440/5c31e3fe/video/m/2208afc04ce90be49dd9094ae2e58a2609111612e98400006cf6f93d9ba7/?rc=anY6eDRwc3k8ajMzZ2kzM0ApQHRoaGR1KTY0MzM0MzQzMzM0NDMzNDVvQGgzdSlAZjN1KXB6YnMxaDFwekApNTRkL24wXmpmYW1sXy0tNS0wc3MtbyNqdDppLT82Li8xNC0uLjU1My42LTojbyM6YS1xIzpgYmJeZl5fdGJiXmA1Ljo%3D
直接播放的视频是带水印的,那么无水印的视频又在那儿呢。其实,只要把视频链接里的 playwm 替换成 play 就行了。
playwm
play
// 无水印视频地址 https://aweme.snssdk.com/aweme/v1/play/?video_id=v0300f8d0000bgo9pvdpimm1au37qs2g&line=0 // js调整 $("#theVideo")[0].src = $("#theVideo")[0].src.replace("playwm","play")
注意:如果直接在新窗口打开无水印视频地址,可能会被重定向到一个视频不见了的默认视频去。这儿被坑了好一会儿。主要原因是抖音服务器会判断一下 user-agent,用 chrome 模拟 iPhone 打开就行啦。
user-agent
综上,下载视频的大致逻辑就比较清楚了: 1.输入分享短链 -> 2.获取真实页面 -> 3.解析页面 -> 4.获取水印视频链接 -> 5.获取无水印视频链接 -> 6.下载视频
废话不多说,上代码
python 一键下载抖音无水印视频:https://github.com/imfenghuang/DouYinDownloader
上面的方式适合在电脑端操作,如果想要在手机端操作怎么呢?可以撸一个捷径,这个后面补充。
在 iPhone Safari 打开 https://aweme.snssdk.com/aweme/v1/play/?video_id=v0300f8d0000bgo9pvdpimm1au37qs2g&line=0 无水印视频链接,可以直接播放,此时想下载就方便啦
https://aweme.snssdk.com/aweme/v1/play/?video_id=v0300f8d0000bgo9pvdpimm1au37qs2g&line=0
当然,如果你在电脑端浏览器操作的话,还可以这样操作:
The text was updated successfully, but these errors were encountered:
好的,学习下
Sorry, something went wrong.
https://www.iesdouyin.com/share/video/6795709444433923343/?region=CN&mid=6795580838533745415&u_code=hb8f4g9d&titleType=title×tamp=1582553083&utm_campaign=client_share&app=aweme&utm_medium=ios&tt_from=copy&utm_source=copy 这个怎么不行?
可能douyin相关参数有变更吧。回头我试下。@zhangchaojiong
No branches or pull requests
先上代码:https://github.com/imfenghuang/DouYinDownloader
起因
这个代码的需求是基友问我有没有方法可以下载到抖音无水印的视频,他之前用的下载方式要收费了。
遇到这种情况,第一步当然是,我先找找资料看再说,:)
于是上 github 搜了一阵子,发现已经有一些抖音视频下载的 repo 了。下载了一些其中的方案进行尝试,发现并不能满足要求。有些是 repo 不在维护,有些则是用的接口已经变化了。只能自己写代码了。(PS:其实还有偷懒的方法的,后面说)
在抖音 APP 内操作分享可以得到一个链接(分享短链),如
http://v.douyin.com/LmKj5u/
,直接打开这个链接会重定向到一个正式页面https://www.iesdouyin.com/share/video/6642982187945692430/?region=CN&mid=6642982238554196744&u_code=j3eg281d&titleType=title×tamp=1546699260&utm_campaign=client_share&app=aweme&utm_medium=ios&tt_from=copy&utm_source=copy&iid=56485046541
,点击页面上的播放按钮,视频自动加载播放。但是这个播放的视频是带有水印。同时,抖音对视频还做了重定向,如下:
直接播放的视频是带水印的,那么无水印的视频又在那儿呢。其实,只要把视频链接里的
playwm
替换成play
就行了。注意:如果直接在新窗口打开无水印视频地址,可能会被重定向到一个视频不见了的默认视频去。这儿被坑了好一会儿。主要原因是抖音服务器会判断一下
user-agent
,用 chrome 模拟 iPhone 打开就行啦。综上,下载视频的大致逻辑就比较清楚了:
1.输入分享短链 -> 2.获取真实页面 -> 3.解析页面 -> 4.获取水印视频链接 -> 5.获取无水印视频链接 -> 6.下载视频
废话不多说,上代码
结果
python 一键下载抖音无水印视频:https://github.com/imfenghuang/DouYinDownloader
其它
上面的方式适合在电脑端操作,如果想要在手机端操作怎么呢?可以撸一个捷径,这个后面补充。
在 iPhone Safari 打开
https://aweme.snssdk.com/aweme/v1/play/?video_id=v0300f8d0000bgo9pvdpimm1au37qs2g&line=0
无水印视频链接,可以直接播放,此时想下载就方便啦当然,如果你在电脑端浏览器操作的话,还可以这样操作:
The text was updated successfully, but these errors were encountered: