【爬虫软件】2024最新短视频评论区抓取工具

一、背景说明

1.0 采集目标

在这里插入图片描述

采集DOU音评论数据对引流截流和获客有很多好处。首先,通过分析DOU音评论数据,我们可以更好地了解用户对于产品或内容的喜好和需求,从而调整营销策略,吸引更多用户关注和点击。其次,评论数据可以帮助我们了解竞争对手的表现和用户反馈,帮助我们找到自己的竞争优势,提升吸引用户的能力。另外,评论数据还可以帮助我们管理用户口碑,提升产品信誉度,增加用户对产品的认可度,为获客打下良好基础。最重要的是,利用评论数据进行引流截流,可以帮助我们引导用户进入我们自己的产品或平台,增加转化率,从而实现获客目标,促进业务增长。

因此,采集DOU音评论数据对引流截流和获客有着重要的作用,可以帮助我们更好地理解用户需求和行为,优化营销策略,提升产品的竞争力,吸引更多用户关注和参与。

1.1 效果演示

综上所述,我用python开发了一个爬虫采集软件,可自动抓取DOU音评论数据,并且含二级评论!

为什么有了源码还开发界面软件呢?方便不懂编程代码的小白用户使用,无需安装python、无需懂代码,双击打开即用!

软件界面截图:软件运行界面

爬取结果截图:结果截图1

结果截图2

结果截图3

以上。

1.2 演示视频

软件运行演示:【软件演示】D音评论采集工具,可爬取上万条,含二级评论!

1.3 软件说明

几点重要说明:

1. Windows用户可直接双击打开使用,无需Python运行环境,非常方便
2. 需要填入cookie和爬取目标视频链接
3. 支持同时爬多个视频的评论
4. 可爬取10个关键字段,含:视频链接,页码,评论者昵称,评论者id(个人DY号),评论者主>页链接,评论时间,评论IP属地,评论点赞数,评论级别,评论内容。
5. 评论中包含二级评论及二级展开评论。

二、代码讲解

2.1 爬虫采集模块

首先,定义接口地址作为请求地址:

# 请求地址
url = 'https://www.douyin.com/aweme/v1/web/comment/list/'

定义一个请求头,用于伪造浏览器:

# 请求头
h1 = {'accept': 'application/json, text/plain, */*','accept-encoding': 'gzip, deflate, br','accept-language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7','cookie': '换成自己的cookie值','referer': 'https://www.douyin.com/','sec-ch-ua': '"Not_A Brand";v="99", "Google Chrome";v="109", "Chromium";v="109"','sec-ch-ua-mobile': '?0','sec-ch-ua-platform': '"macOS"','sec-fetch-dest': 'empty','sec-fetch-mode': 'cors','sec-fetch-site': 'same-origin','user-agent': ua,
}

其中,cookie是个关键参数,需要填写到软件界面里。cookie获取方法如下:cookie获取方法

加上请求参数,告诉程序你的爬取条件是什么:

# 请求参数
params = {'device_platform': 'webapp','aid': 6383,'channel': 'channel_pc_web','aweme_id': video_id,  # 视频id'cursor': page * 20,'count': 20,'item_type': 0,'insert_ids': '','rcFT': '','pc_client_type': 1,'version_code': '170400','version_name': '17.4.0','cookie_enabled': 'true','screen_width': 1440,'screen_height': 900,'browser_language': 'zh-CN','browser_platform': 'MacIntel','browser_name': 'Chrome','browser_version': '109.0.0.0','browser_online': 'true','engine_name': 'Blink','engine_version': '109.0.0.0','os_name': 'Mac OS','os_version': '10.15.7','cpu_core_num': 4,'device_memory': 8,'platform': 'PC','downlink': 1.5,'effective_type': '4g','round_trip_time': 150,'webid': 7184233910711879229,'msToken': 'LZ3nJ12qCwmFPM1NgmgYAz73RHVG_5ytxc_EMHr_3Mnc9CxfayXlm2kbvRaaisoAdLjRVPdLx5UDrc0snb5UDyQVRdGpd3qHgk64gLh6Tb6lR16WG7VHZQ==',
}

下面就是发送请求和接收数据:

# 请求地址
url = 'https://www.douyin.com/aweme/v1/web/comment/list/'
# 发送请求
r = requests.get(url, headers=h1, params=params)
# 转json格式
json_data = r.json()

定义一些空列表,用于存放解析后字段数据:

ip_list = []  # ip属地
text_list = []  # 评论内容
create_time_list = []  # 评论时间
user_name_list = []  # 评论者昵称
user_url_list = []  # 评论者主页链接
user_unique_id_list = []  # 评论者DY号
like_count_list = []  # 点赞数
cmt_level_list = []  # 评论级别

循环解析字段数据,以"评论内容"为例:

# 循环解析
for comment in comment_list:# 评论内容text = comment['text']text_list.append(text)

其他字段同理,不再赘述。

最后,是把数据保存到csv文件:

# 保存数据到DF
df = pd.DataFrame({'目标链接': 'https://www.douyin.com/video/' + str(video_id),'页码': page,'评论者昵称': user_name_list,'评论者id': user_unique_id_list,'评论者主页链接': user_url_list,'评论时间': create_time_list,'评论IP属地': ip_list,'评论点赞数': like_count_list,'评论级别': cmt_level_list,'评论内容': text_list,}
)
# 保存到csv文件
if os.path.exists(result_file):  # 如果文件存在,不再设置表头header = False
else:  # 否则,设置csv文件表头header = True
df.to_csv(result_file, mode='a+', index=False, header=header, encoding='utf_8_sig')

完整代码中,还含有:判断循环结束条件、时间戳转换、二级评论及二级展开评论的采集等关键实现逻辑,详见文末。

2.2 软件界面模块

软件界面采用tkinter开发。
主窗口部分:

# 创建日志目录
work_path = os.getcwd()
if not os.path.exists(work_path + "/logs"):os.makedirs(work_path + "/logs")
# 创建主窗口
root = tk.Tk()
root.title('DY评论采集软件 | 马哥python说')
# 设置窗口大小
root.minsize(width=850, height=650)

填写cookie控件:

# 【填入Cookie】
tk.Label(root, justify='left', font=('微软', 14), text='个人Cookie:').place(x=30, y=75)
entry_ck = tk.Text(root, bg='#ffffff', width=110, height=2, )
entry_ck.place(x=30, y=100, anchor='nw')  # 摆放位置

填写视频链接控件:

# 【视频链接】
tk.Label(root, justify='left', font=('微软', 14), text='视频链接:').place(x=30, y=145)
note_ids = tk.StringVar()
note_ids.set('')
entry_nt = tk.Text(root, bg='#ffffff', width=110, height=14, )
entry_nt.place(x=30, y=170, anchor='nw')  # 摆放位置

底部软件版权说明:

# 版权信息
copyright = tk.Label(root, text='@马哥python说 All rights reserved.', font=('仿宋', 10), fg='grey')
copyright.place(x=290, y=625)

以上。

2.3 日志模块

好的日志功能,方便软件运行出问题后快速定位原因,修复bug。

核心代码:

def get_logger(self):self.logger = logging.getLogger(__name__)# 日志格式formatter = '[%(asctime)s-%(filename)s][%(funcName)s-%(lineno)d]--%(message)s'# 日志级别self.logger.setLevel(logging.DEBUG)# 控制台日志sh = logging.StreamHandler()log_formatter = logging.Formatter(formatter, datefmt='%Y-%m-%d %H:%M:%S')# info日志文件名info_file_name = time.strftime("%Y-%m-%d") + '.log'case_dir = r'./logs/'info_handler = TimedRotatingFileHandler(filename=case_dir + info_file_name,when='MIDNIGHT',interval=1,backupCount=7,encoding='utf-8')

日志文件截图:日志文件截图

三、获取源码及软件

完整python源码及exe软件,微信公众号"老男孩的平凡之路"后台回复"爬抖音评论软件"即可获取。点击直达

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/333352.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小而美的前端库推荐

小而美,指的是“小即是美”的事物,这是马云在 2009年 APEC 中小企业峰会上首次提出的观点 👍 前端有很多小而美的库,接入成本很低又能满足日常开发需求 🎉

StringMVC

目录 一,MVC定义 二,SpringMVC的基本使用 2.1建立连接 - RequestMapping("/...") ​编辑 2.2请求 1.传递单个参数 2.传递多个参数 3.传递对象 4.参数重命名 5.传递数组 6. 传递集合 7.传递JSON数据 8. 获取url中数据 9. 传递文…

深度学习中的多GPU训练(Pytorch 20)

一 多GPU训练 下面详细介绍如何从零开始并行地训练网络,这里需要运用小批量随机梯度下降算法。后面我还讲介绍如何使用高级API并行训练网络。 我们从一个简单的计算机视觉问题和一个稍稍过时的网络开始。这个网络有多个卷积层和汇聚层,最后可能 有几个…

Android:将时间戳转换为本地时间格式

一、效果图 图1,中国的时间格式 图2,美国的时间格式 二、StringUtil.kt代码 import java.text.DateFormat import java.text.SimpleDateFormat import java.util.* object StringUtil {fun formatTimestamp(currentTime: Long): String {var sdf Si…

dolphinscheduler standalone安装

官方文档:https://dolphinscheduler.apache.org/en-us/docs/3.1.3/guide/installation/standalone 1.安装(以放在/home为例) 下载见:https://download.csdn.net/download/taotao_guiwang/89311365 tar -xvzf apache-dolphinsche…

美团Java社招面试题真题,最新面试题

如何处理Java中的内存泄露? 1、识别泄露: 使用内存分析工具(如Eclipse Memory Analyzer Tool、VisualVM)来识别内存泄露的源头。 2、代码审查: 定期进行代码审查,关注静态集合类属性和监听器注册等常见内…

C++ 数据结构算法 学习笔记(33) -查找算法及企业级应用

C 数据结构算法 学习笔记(33) -查找算法及企业级应用 数组和索引 日常生活中,我们经常会在电话号码簿中查阅“某人”的电话号码,按姓查询或者按字母排 序查询;在字典中查阅“某个词”的读音和含义等等。在这里,“电话号码簿”和…

nginx文件解析漏洞测试

环境条件:ubuntu14,已安装docker,docker pull ubuntu:14.04.5 一、Nginx配置 1、使用docker启动容器: docker run -itd --name ubuntu -p 8088:80 ubuntu:14.04.5 2、进入容器: docker exec -it ubuntu /bin/bash 3、然后使用以下语句安装相关环境…

(四)手把手教你内网穿透,实现外网主机访问内网服务器

背景:书接上回, 服务器的使用-CSDN博客 课题组成员都有自己的账号,且能通过内网访问服务器,进行远程连接了。我们知道内网中的主机可以访问公网的主机,反之不可以访问。那么如果课题组成员在家不在内网区域内&#x…

ai发展会不会带来企业的员工垄断呢

写代码写累了,写点个人不成熟的想法,作为记录 随着gpt-4o发布,可以预计的是,AI逐渐能够通过各种外接设备和传感器和真实世界实时交互。那么未来一个接上摄像头,键盘,音响,可移动身体的的AI还会…

如何注册Claude3?解决Claude3无海外手机号接收验证码的问题以及如何订阅Claude Pro

原文链接:如何注册 Claude3?解决 Claude3 无海外手机号接收验证码的问题以及如何订阅 Claude Pro 前言 Claude3已经出来有一段时间了,大家有没有体验过呢?不过从目前来看,Anthropic公司总共推出了3个模型&#xff1…

Jenkins安装 :AWS EC2 Linux

1 JDK11 install # 用的yum安装 # 压缩包安装,下载的jdk-11.0.22_linux-x64_bin.tar.gz在EC2解压,配置环境变量,运行jenkins的时候会报错$ yum -y list java-11* Available Packages java-11-amazon-corretto-devel.x86_64 …

用队列实现栈 用栈实现队列 设计循环队列

用队列实现栈 思路 栈的特点:后进先出 队列的特点:先进先出 使用两个队列实现栈: 我们可以使用两个队列,一个队列为:空队列,一个队列为:非空队列 当我们要出队列时: 将 size - …

多态

多态的概念 通俗来说,就是多种形态,具体点就是完成某个行为,当不同的对象去完成时会产生出不同的状态 多态的定义及实现 多态构成的条件 1、必须通过基类的指针或者引用调用虚函数 2、子类必须对基类的虚函数进行重写 虚函数 被关键字vi…

内网横向移动小补充 --->PTK

大家别急,我的基于资源的约束性委派攻击还在写,这个东西一时半会讲不清楚,所以我在这里先来补充一点横向移动以前没说好的东西!!! 在更啦,别催啦~~~~ 还记得我之前在内网渗透里面讲过这个PTK&a…

2024.5.22 关于 SpringCloud —— Nacos 配置管理

目录 Nacos 配置统一管理 Nacos 配置热部署 Nacos 多环境配置共享 配置优先级 Nacos 配置统一管理 实例理解 我们想要利用 Nacos 在 user-service 的 application.yml 配置文件中新增配置项此处我们将新增配置日期格式为 yyyy-MM-dd HH:mm:ss下图为新增 Nacos 配置统一管理…

基于STM32实现智能园艺系统

目录 引言环境准备智能园艺系统基础代码示例:实现智能园艺系统 土壤湿度传感器数据读取水泵控制温湿度传感器数据读取显示系统用户输入和设置应用场景:智能农业与家庭园艺问题解决方案与优化收尾与总结 1. 引言 本教程将详细介绍如何在STM32嵌入式系统…

基于Zynq 7000 SoC的迁移设计

基于Zynq 7000 SoC的迁移设计 Vivado IDE工具使用IP集成器进行嵌入式开发。各种IP Vivado IDE IP目录中提供,以适应复杂的设计。您也可以添加 自定义IP到IP目录。 您可以将基于Zynq 7000平台处理器的设计迁移到Vivado design Suite中 使用以下步骤。 1.生成系统基础…

【搜索方法推荐】高效信息检索方法和实用网站推荐

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。 博客…

亚马逊云主管马特·加尔曼面临压力,致力于在人工智能领域赶超竞争对手

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…