脚本取色精灵 继续研究fidder获取抖音无水印视频,按键精灵和python脚本的运用
上一个文章研究的是fidder抓取抖音用户信息的,有兴趣可以点开我的头像看上次的帖子。帖子回复的不多,大多数人回复说竟然看不懂。这次再来聊一聊。
尽量用通俗的语言说一下,可能我说的有些错误,首先说一下fidder,fidder的功能很强大,可以截取手机模拟器里抖音与服务器之间的网络请求数据,我们要抓的是https协议请求。现在浏览的网站都多数是http和https请求,https就是比http请求要安全很多,截取https需要安装证书,fiider有自带的证书,下载下来安装到安卓模拟器即可。具体细节百度咯,安装好过后fidder上就看到抖音的各种网络请求了。
现在上图我们看到了抖音的各种网络请求,我们看看数据类型为MP4的链接复制出来,点击右键复制url,复制到浏览器打开.
嘿嘿嘿,没有水印的呀,接下来我就开始研究怎么把这个视频保存下来呢?一开始想保存这个视频网址,但是过几天就凉凉了,403错误,没有权限访问了。只能保存文件了,找到思路跟上一个帖子一样的,找到请求网址的规律
发现视频网址的host地址有好几个,本来是构建数组的,判断oSession.host在不在那个数组里面,但是出现了不能访问静态内容的错误,只能用 或 判断了,跟javascript的语法差不多卡盟,还好fidderscript有自动补全,输入oSession.Save ,后面会有很多选项,然后就把所有的返回内容都保存下来了。
最大的就是MP4了,把后缀名改成MP4就能直接播放了。。接下来就要循环读取这个文件了,有点问题暂时还没有解决,我写的python读取文件的脚本可能只会读取到文件的一半,很少的文件不能播放,因为fidder存文件不能一瞬间存完把,需要时间。只能把按键精灵的脚本滑动延迟调到十秒才能减少不能播放的文件。
import time
import os
l=''
while True:
# 二进制的读取第一行
with open("E:\\apytemp\\ResponseBody.mp4",'rb') as f:
detail=f.readline()
# 判断是否重复
if detail==l:
pass
else:
# 判断文件大小是否大于500k
if os.stat('E:\\apytemp\\ResponseBody.mp4').st_size>500:
# 以时间设置文件名称
now = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))
# 读文件
with open("E:\\apytemp\\ResponseBody.mp4", 'rb')as e:
str = e.read()
# 换个文件夹存文件
with open('video\\' + now + ".mp4", "wb") as q:
q.write(str)
print("ok")
time.sleep(0.5)
else:
pass
l = detail
time.sleep(1)