sergiojune 发表于 2019-9-2 16:51

某音无水印视频如何下载?我教你!

距离上次搞定某音的字体反爬已经过去很久了,没看过的可以戳这里看看小白也可以看会的破解抖音字体反爬,当时由于技术原因想获取分享页的视频的,弄不了,后来技术跟上了,也变懒了,一放下就大半年过去了。现在决定重新搞下,废话不多说,直接上网址。

1. 找到目标链接要解析无水印的视频,需要在手机端的个人主页 -> 左上角 -> 以链接的形式分享,这样你会得到类似于这样的链接:http://v.douyin.com/NT5Nck/在 PC 端打开就会自动重定向到这个链接:https://www.iesdouyin.com/share/user/88445518961?timestamp=1548046967
往下拉你就会看到她发表的所有视频了,这些视频就是我们想要的无水印视频。
接下来就是熟悉的一步,打开开发者工具,寻找我们想要的请求。很容易就找到我们想要的请求



2. 寻找加密参数的过程里面两个可能需要加密的参数,还是老办法,先直接搜索这个需要加密的参数名字:_signature,很容易就找到这个地方

直接下断点 + 刷新网页,你会看到这个

很明显就看到我们想要的两个参数都在这里了,往上寻找他们的生成方式即可。再查看右边的函数调用栈,很轻松就可以看到 signature 参数的生成方式


再往下一个函数调用栈,也可以看到 dytk 的参数,是直接在请求个人主页返回的,不需要加密,这样子就只剩下 signature 参数需要搞了。


现在重新下断点,直接下在 signature 生成的地方,这样方便查看相关函数。

现在临到看 _bytedAcrawler 这个对象怎么生成的了,这里很容易就可以找到它的生成位置

可以看到是一个 require 方法,请求一个文件相关的,但是把鼠标放在这个方法上,并不是我们想到的那个方法,而是他们重写的方法


直接点击进去看即可,接下来就是点击让代码运行下一步,直接跳到我们刚刚看到的函数。


这里看到还需要用到这两个函数,都是小意思


这个对象生成了,基本就完成了,最后加密需要用到的参数就是 视频主页的 id, 这个好办,大功告成。

3. 遇到的问题将需要的代码扣下来之后,直接使用 python 的第三方库 pyexecjs 运行,会有这个错误
TypeError: Cannot read property 'userAgent' of undefined
这个问题好办,因为 pyexecjs 的引擎是 v8,不支持 dom 的,所以自己构建一个 dom 对象即可。像这样就可以搞定了:

现在代码是可以生成我们想要的参数了,但是有时还是得不到数据,群里一大佬说是还需要一个 tac 变量,在这里:


也是在请求个人主页就可以得到,直接使用正则就可以获取,效果图


监于只是练手,里面可能还需要很多别的浏览器的变量没有调试出来,如果有需要的话可以自行调试。

另代码已上传到github:https://github.com/SergioJune/Spider-Crack-JS
说明:目前mou音在 PC 端是看不了视频的了,但是在移动端是可以的,所以找出了视频链接,把请求头改成这样就可以了

效果图

环球海员 发表于 2019-9-2 18:41

感谢你的分享,看完了,我是在安卓手机上直接去视频的缓存目录里面直接复制出来,不带水印。

曲径戎 发表于 2019-9-2 20:33

环球海员 发表于 2019-9-2 18:41
感谢你的分享,看完了,我是在安卓手机上直接去视频的缓存目录里面直接复制出来,不带水印。

忍不住笑了…看到这个…、
不过楼主的确厉害…
但是还是觉得你的方法更简单

佳友一生 发表于 2019-9-2 19:00

很强大,但表示不刷某音

shunvnv 发表于 2019-9-2 19:17

我进来学习的,谢谢分享,我支持了

yanyang0916 发表于 2019-9-2 19:36

说的有点复杂,大神能不能搞一个程序,傻瓜式搞定。

大狗腿子 发表于 2019-9-2 20:14

学习学习,谢谢分享

超能小虎 发表于 2019-9-2 20:57

学习一下

惊寂之城 发表于 2019-9-2 21:01

楼主强啊

蓝色基调 发表于 2019-9-2 21:10

环球海员 发表于 2019-9-2 18:41
感谢你的分享,看完了,我是在安卓手机上直接去视频的缓存目录里面直接复制出来,不带水印。

怎么操作呀
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 某音无水印视频如何下载?我教你!