Python结合fiddler二次开发对抖音app评论抓取实现10分钟2万数据

2022年4月27日 10:20 ry 2169

之前看到群里说抖音评论有点难度,现在抖音有网页版了,发现抓取大量评论有滑块出现,还是转向app,在模拟器上安装抖音app,注意不要弄最新版的,好像有防止检测的,设置好fiddler,随便选取一个视频点开评论,在fiddler中查看对应评论的数据包,如图所示

发现一个数据包有20个评论,那就很好办,直接在fiddler中设置个规则来截取该评论的数据包,即在FiddlerScript中实现二次开发,直接上代码

if (oSession.uriContains("https://aweme.snssdk.com/aweme/v2/comment/list/?")){
            var strBody=oSession.GetResponseBodyAsString()
            var timestamp=new Date().getTime()
            var filename = "C:/Users/14499/Desktop/" + "dypl/" + timestamp + ".json";
            var curDate = new Date();   
            var sw7 : System.IO.StreamWriter;  
            if (System.IO.File.Exists(filename)){  
                sw7 = System.IO.File.AppendText(filename);  
                sw7.Write(strBody); 
            }  
            else{  sw7 = System.IO.File.CreateText(filename); 
                sw7.Write(strBody);
            }  
            sw7.Close();
            sw7.Dispose(); 
            
            
        }

这段代码加的位置注意下,位置如图所示

写好了注意点击左上角的save script这个保存按钮,接下来你会发现每次向下滑动,对应的数据包就会保存到文件夹上dypl的json文件,为了防止json文件名冲突,这里使用时间戳来命名即可,记下来的目标就是实现快速下滑使得获取大量评论数据,为了模拟鼠标滚轮的下滑操作,这里使用了pyautogui这个库的scroll方法,能够快速的实现刷新评论的操作,直接上代码

import pyautogui
import time
time.sleep(4)
for i in range(0,200000):
    pyautogui.scroll(-5000)
    time.sleep(0.1)
    pyautogui.scroll(-5000)
    time.sleep(0.1)

注意的是,当你模拟器打开抖音时,fiddler页打开,然后点开评论,鼠标放在抖音app的评论上,运行上述代码,为了给你鼠标放到app的时间,这里使用time.sleep等待了4秒钟,然后可以实现快速的刷新了,大约我跑了10分钟,截取了986个json文件,每个文件20个评论,也就差不多2万的数据,当然,你可以采集更久,十万或者几十万数据轻轻松松,过程完全没验证码出现,后面就是解析截取的json数据了,直接上代码

import json,os
path = r'C:\Users\14499\Desktop\dypl'
files = os.listdir(path)

print(len(files))
for i in files:
    all_path = '{}\{}'.format(path,i)
    with open(all_path, 'r', encoding='utf-8') as f:
        text = f.read()
        msgs = json.loads(text)['comments']
    for j in msgs:
        print(j)
    print(len(msgs))

运行效果如下所示

10分钟大约2万数据,速度还是很快的。完全无压力

如果上述代码帮助您很多,可以打赏下以减少服务器的开支吗,万分感谢!

欢迎发表评论~

点击此处登录后即可评论


评论列表
2023年4月8日 22:21 ry: 回复
最新数据采集,需要的私我:qq:1449917271 微信liuyoudyping


赣ICP备2021001574号-1

赣公网安备 36092402000079号