上次做某音的字体反爬已经很久了。没看过的可以点这里看小白,还有破解的抖音字体反爬。当时,我想把分享页面弄下来,但由于技术原因,我无法让视频正常工作。后来技术赶上来了,我也懒了。一放下,半年多过去了。现在我决定重新开始,废话少说,直接上网站。1.找到目标链接要分析没有水印的视频,需要在个人主页->手机左上角->以链接的形式分享,这样就会得到类似这样的链接:http://v.douyin.com/NT5Nck/在PC端打开会自动跳转到这个链接:https://www.iesdouyin.com/sha...向下滚动你会看到所有她发布的视频。这些视频就是我们想要的无水印视频。接下来就是熟悉的步骤了,打开开发者工具,寻找我们想要的请求。很容易找到我们想要的请求2.在查找加密参数的过程中,有两个参数可能需要加密。它仍然是旧方法。首先直接搜索需要加密的参数名称:_signature。很容易找到这个地方,直接下载。点击+刷新网页,你会看到这个。很明显我们要的两个参数都在这里了,直接上去看看是怎么生成的。然后看右边的函数调用栈,可以很容易的看到签名参数的生成方法,再往下看函数调用栈,也可以看到dytk的参数,直接从requestpersonal返回首页,没有加密,像这样只需要做签名参数。现在再次设置断点,直接在生成签名的地方,方便查看相关函数。现在让我们看看_bytedAcrawler对象是如何生成的。在这里很容易找到它的位置。可以看到是一个require方法,请求一个文件,但是鼠标放到这个方法上并不是我们想的。方法,但是他们重写的方法可以直接点进去看,下一步是点击让代码运行到下一步,直接跳转到我们刚才看到的函数。在这里我们可以看到这两个功能仍然是需要的,这是微不足道的。对象生成,基本完成。最后加密需要的参数是视频首页的id。这个好办,大功告成。3.遇到问题后,扣除需要的代码后,直接使用第三方python库pyexecjs运行,会出现这个错误TypeError:Cannotreadproperty'userAgent'ofundefined这个问题很好解决,因为引擎pyexecjs的是v8,不支持dom,所以可以自己搭建一个dom对象。可以这样来做:现在代码可以生成我们想要的参数了,但是有时候还是得不到数据。群里大佬说需要一个tac变量,这里:请求个人主页也可以获取,直接用正则表达式获取即可。效果图只是为了练习,其他浏览器可能有很多变量没有调试过。如果需要,您可以自己调试它们。另一个代码已经上传到github:https://github.com/SergioJune...:目前mouyin无法在PC端观看视频,但是在移动端是可以的,所以我找到了视频链接和把请求的header改成这样就可以了。最后的公众号已经很久没有更新原作了,因为最近发生了一些事情,现在开学了,时间也开始变多了,所以现在又开始更新原作了,尝试更新两篇文章一周,文章不限于逆向工程、大型爬虫、框架学习和Python基础。我希望你喜欢它。另外,大家也可以在留言区提出建议,让大家一起变得更好!扫码查看更多文章
