网页视频抓取脚本(手机模拟器抓取抖音用户信息的研究方法和方法)
优采云 发布时间: 2021-11-12 20:13网页视频抓取脚本(手机模拟器抓取抖音用户信息的研究方法和方法)
之前的 文章 研究是关于 fdder 抓取 抖音 用户信息。有兴趣的可以点击我的头像看最后一个帖子。帖子回复不多,大部分人都表示看不懂。这次我们再说一遍。
尽量使用通俗易懂的语言。也许我说错了什么。首先,我将谈谈 fidder。Fidder 非常强大。可以在手机模拟器中拦截抖音与服务器之间的网络请求数据。我们想抓住它。它是一个 https 协议请求。你现在浏览的大部分 网站 都是 http 和 https 请求。https 比 http 请求安全得多。拦截https需要安装证书。Fiider有自己的证书。您可以下载并安装在安卓模拟器上。具体详情百度。安装后,你会在 fdder 上看到来自 抖音 的各种网络请求。
现在我们看到上图中抖音的各种网络请求。看看数据类型为MP4的链接是否被复制,右键复制url,复制到浏览器打开即可。
嘿嘿,没有水印,那我就开始研究这个视频怎么保存?一开始我想保存视频网址,但是过了几天就凉了,报403错误,我也没有权限访问。只能保存文件,找和上一篇一样的思路,找到请求URL的规则
发现视频网址的主机地址有好几个,原来是构造成一个数组。判断oSession.host是否在那个数组中,但是出现无法访问静态内容的错误。只能使用或判断,类似于javascript语法。好的fidderscript有自动补全,输入oSession.Save,后面会有很多选项,然后所有返回的内容都会被保存。
最大的就是MP4了,把后缀名改成MP4就可以直接播放了。. 下一步是循环读取文件。有些问题还没有解决。我写的在python中读取文件的脚本可能只能读取文件的一半。很少有文件不能播放,因为 fdder 无法保存文件。需要时间来瞬间保存。只有将按键精灵脚本的滑动延迟调整为十秒,才能减少无法播放的文件。
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)
接下来,为按钮向导编写一个小脚本,模拟手动点击和滑动,清除缓存,重新启动应用程序,并编写一个小界面。
Dim intX,intY
Dim tb1,tb2
tb1 = ReadUIConfig("输入框1")
tb2 = ReadUIConfig("输入框2")
//划
Do
For tb1
Swipe 120, 300, 120, 100
Delay tb2*1000
Next
Call qc()
Loop
//清除缓存
Function qc()
Tap 292, 466
Delay 1000
FindMultiColor 0,0,0,0,"B1ADAC","2|0|B1ADAC,4|0|B4B0AF,-2|0|B5B1B0,-23|-1|B6B2B1,-51|-2|483E3C,-52|-2|9B9594,-74|5|9F9A99,-77|5|483E3C,-77|4|483E3C",0,0.9,intX,intY
If intX > -1 And intY > -1 Then
Tap intX, intY
Delay 1000
Tap 38, 335
Delay 1000
End If
Tap 263, 314
Delay 1000
Tap 54, 234
Delay 2000
Call cq()
End Function
//重启
Function cq()
KillApp "com.ss.android.ugc.aweme"
Delay 5000
RunApp "com.ss.android.ugc.aweme"
Delay 10000
End Function
昨晚我整夜挂了电话。早上,按键精灵调试模式暂停了,接下来还有400多个,有的玩不了。先上传到阿里云,准备做个网站或者小程序玩玩
代码:koala9527/douyin,微信公众号也会同步:Pythontest