将Network设置成XHR,重新刷新一下页面,获取请求内容:
我们可以看到上面选中的那个请求,返回的是一串json,我们将内容复制下来看看,搜索返回的json中有关video的字段,通过下图我们就可以看到video里面有个url_list,里面有两个不同的url,这两个url其实就是视频相关的地址了,但是还有点问题,这两个url点进去并不能直接看到视频。
2. 获取视频链接
这里我们需要将url做一点点修改。我们将/play修改成/playmw就可以了,这个时候我们发现,这两个视频地址被重定向成正常的视频地址了。(下面来说为什么要加mw,这个代表什么)
这样我们就相当于顺利拿到视频的地址了,我们可以去json中获取所有的视频url链接:
pattern = re.compile(‘“(https://aweme.snssdk.com/aweme/v1/play/.*?)”’)
result = pattern.findall(data)
result = [i.replace(“/play/”, “/playwm/”) for i in result]
for i in result:
print(i)
3. 水印问题
关于水印问题,看了简书上有篇文章有介绍,水印与无水印之间的区别,这边我就不作详细介绍了。其实我们一开始拿到的url就是无水印的,但是链接本身并没重定向到无水印的视频,加上wm之后,url会重定向到有水印的视频。