目标:
由于之前和朋友聊到抖音评论的爬虫,demo做出来之后一直没整理,最近时间充裕后,在这里做个笔记。
提示:大体思路 通过fiddle + app模拟器进行抖音抓包,使用python进行数据整理
安装需要的工具:
python3 下载
fiddle 安装及配置
手机模拟器下载
抖音部分:
模拟器下载好之后, 打开模拟器
在应用市场下载抖音
对抖音进行fiddle配置,配置成功后就可以当手机一样使用了
一、工具配置及抓包:
我们随便打开一个视频之后,fiddle就会刷新新的数据包
在json中找到视频地址:
二、fiddler中添加下载视频评论代码
在fiddler中添加下载视频代码:注意两点:
(1)get后面的路径要随时看进行更换
(2)下载的路径要在fiddler下面自己新建
if (m_Hide304s && oSession.responseCode == 304) {
oSession["ui-hide"] = "true";
}
if (oSession.uriContains("https://aweme.snssdk.com/aweme/v1/general/search/single/")){
var strBody=oSession.GetResponseBodyAsString();
var sps = oSession.PathAndQuery.slice(-58,);
//FiddlerObject.alert(sps)
var timestamp=new Date().getTime();
var filename = "D:\抖音评论资料" + "/" + sps + timestamp + ".json";
var curDate = new Date();
var sw : System.IO.StreamWriter;
if (System.IO.File.Exists(filename)){
sw = System.IO.File.AppendText(filename);
sw.Write(strBody);
}
else{
sw = System.IO.File.CreateText(filename);
sw.Write(strBody);
}
sw.Close();
sw.Dispose();
此段代码放到fiddler中的script的response中,如下图:添加好之后别忘记保存!!
三、python执行代码pycharm新建py文件
程序执行代码:
import os
import json
import time
import requests
import re
import csv
class Douyin(object):
def __init__(self):
pass
self.url1 = 'https://aweme.snssdk.com/aweme/v2/comment/list/"%Y--%m--%d %H:%M:%S", timeArray)
meta['digg_count'] = con['aweme_info']['statistics']['digg_count']
meta['comment_count'] = con['aweme_info']['statistics']['comment_count']
meta['share_count'] = con['aweme_info']['statistics']['share_count']
meta['share_url'] = con['aweme_info']['share_url']
except:
meta['title'] = ''
meta['author_name'] = ''
meta['u_name'] = ''
meta['create_time'] = ''
meta['digg_count'] = ''
meta['comment_count'] = ''
meta['share_count'] = ''
meta['share_url'] = ''
if meta['u_name'] == '':
try:
meta['u_name'] = con['aweme_info']['music']['owner_handle']
except:
meta['u_name'] = ''
if meta['title'] == '':
pass
else:
lists.append(meta)
# print(meta)
return lists
def save_data(self, meta):
header = ['share_url', 'title', 'author_name', 'u_name', 'create_time', 'digg_count', 'comment_count', 'share_count']
print(meta)
with open('test.csv', 'a', newline='', encoding='utf-8-sig') as f:
writer = csv.DictWriter(f, fieldnames=header)
writer.writeheader() # 写入列名
writer.writerows(meta)
def run(self):
meta = self.parse()
self.save_data(meta)
if __name__ == '__main__':
douyin = Douyin()
douyin.run()
运行代码后在代码执行目录下会生成一个excel
ps:抖音不会一次性返回整个评论数据包,每次往下滑动评论区会多出26条评论数据,我们就可以利用模拟器进行滑动操作。
点击 更多>鼠标宏
点击录屏之后,用鼠标往下滑动一次页面
点击停止,就会将你刚才的操作保存下来
点击设置 可以对刚才的操作进行循环播放,从而达到自动刷新评论区。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。








