基于关键词自动采集抖音视频排名及互动数据(点赞、评论、收藏)

本文主要是介绍基于关键词自动采集抖音视频排名及互动数据(点赞、评论、收藏),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在当今的社交媒体时代,抖音作为一个热门短视频平台,吸引了大量用户和内容创作者。对于研究和分析抖音上的热门视频及其互动数据(如点赞、评论、收藏等),自动化的数据采集工具显得尤为重要。本项目旨在开发一个基于关键词的自动化脚本,能够高效地采集抖音视频的排名及其互动数据。

通过输入关键词,脚本会自动访问抖音搜索页面,获取相关视频的详细信息,包括用户名、用户ID、粉丝数量、视频描述、视频时长、点赞数量、评论数量、收藏数量等。采集到的数据将以CSV和Excel格式保存,方便后续的数据分析和处理。

该工具不仅适用于市场研究、内容创作分析,还可以帮助企业和个人更好地了解抖音平台上的用户行为和内容趋势。通过自动化的数据采集,大大提高了工作效率,减少了人工操作的繁琐和误差。

一、运行结果

在这里插入图片描述

二、程序代码

import time
import datetime
import csv
import pandas as pd
from DrissionPage import ChromiumPage# 创建文件对象并写入表头
with open('../data.csv', mode='w', encoding='utf-8', newline='') as f:csv_writer = csv.DictWriter(f, fieldnames=['用户名', '用户uid', '用户ID', '粉丝数量', '发表时间', '视频awemeid','视频url', '视频描述', '视频时长', '点赞数量', '收藏数量', '评论数量','下载数量', '分享数量'])csv_writer.writeheader()# 打开浏览器并监听数据包
driver = ChromiumPage()
driver.listen.start('www.douyin.com/aweme/v1/web/search/item', method='GET')# 获取关键词并访问网址
keyword = input('请输入关键词:')
url = f'https://www.douyin.com/search/{keyword}?type=video'
print(url)
driver.get(url)def get_time(ctime):return time.strftime("%Y.%m.%d", time.localtime(ctime))def save_video_info(video_data):minutes = video_data['video']['duration'] // 1000 // 60seconds = video_data['video']['duration'] // 1000 % 60video_dict = {'用户名': video_data['author']['nickname'].strip(),'用户uid': 'a' + str(video_data['author']['uid']),'用户ID': video_data['author']['sec_uid'],'粉丝数量': video_data['author']['follower_count'],'发表时间': get_time(video_data['create_time']),'视频awemeid': 'a' + video_data['aweme_id'],'视频url': 'https://www.douyin.com/video/' + str(video_data['aweme_id']),'视频描述': video_data['desc'].strip().replace('\n', ''),'视频时长': f"{minutes:02d}:{seconds:02d}",'点赞数量': video_data['statistics']['digg_count'],'收藏数量': video_data['statistics']['collect_count'],'评论数量': video_data['statistics']['comment_count'],'下载数量': video_data['statistics']['download_count'],'分享数量': video_data['statistics']['share_count'],}print(f"用户名: {video_dict['用户名']}\n",f"用户uid: {video_dict['用户uid']}\n",f"用户ID: {video_dict['用户ID']}\n",f"粉丝数量: {video_dict['粉丝数量']}\n",f"发表时间: {video_dict['发表时间']}\n",f"视频awemeid: {video_dict['视频awemeid']}\n",f"视频url: {video_dict['视频url']}\n",f"视频描述: {video_dict['视频描述']}\n",f"视频时长: {video_dict['视频时长']}\n",f"点赞数量: {video_dict['点赞数量']}\n",f"收藏数量: {video_dict['收藏数量']}\n",f"评论数量: {video_dict['评论数量']}\n",f"下载数量: {video_dict['下载数量']}\n",f"分享数量: {video_dict['分享数量']}\n")return video_dictdata_list = []
for page in range(10):print(f'正在采集第{page + 1}页的数据内容')driver.scroll.to_bottom()resp = driver.listen.wait()json_data = resp.response.bodytime.sleep(2)if not json_data['has_more']:breakfor json_aweme_info in json_data['data']:data = save_video_info(json_aweme_info['aweme_info'])data_list.append(data)header = ['用户名', '用户uid', '用户ID', '粉丝数量', '发表时间', '视频awemeid', '视频url', '视频描述', '视频时长','点赞数量', '收藏数量', '评论数量', '下载数量', '分享数量']
today_indx = datetime.date.today()df = pd.DataFrame(data=data_list, columns=header)
df.to_excel(f'{keyword}-{today_indx}.xlsx', index=False)

这篇关于基于关键词自动采集抖音视频排名及互动数据(点赞、评论、收藏)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1047082

相关文章

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

使用SpringBoot整合Sharding Sphere实现数据脱敏的示例

《使用SpringBoot整合ShardingSphere实现数据脱敏的示例》ApacheShardingSphere数据脱敏模块,通过SQL拦截与改写实现敏感信息加密存储,解决手动处理繁琐及系统改... 目录痛点一:痛点二:脱敏配置Quick Start——Spring 显示配置:1.引入依赖2.创建脱敏

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Python数据分析与可视化的全面指南(从数据清洗到图表呈现)

《Python数据分析与可视化的全面指南(从数据清洗到图表呈现)》Python是数据分析与可视化领域中最受欢迎的编程语言之一,凭借其丰富的库和工具,Python能够帮助我们快速处理、分析数据并生成高质... 目录一、数据采集与初步探索二、数据清洗的七种武器1. 缺失值处理策略2. 异常值检测与修正3. 数据

pandas实现数据concat拼接的示例代码

《pandas实现数据concat拼接的示例代码》pandas.concat用于合并DataFrame或Series,本文主要介绍了pandas实现数据concat拼接的示例代码,具有一定的参考价值,... 目录语法示例:使用pandas.concat合并数据默认的concat:参数axis=0,join=

C#代码实现解析WTGPS和BD数据

《C#代码实现解析WTGPS和BD数据》在现代的导航与定位应用中,准确解析GPS和北斗(BD)等卫星定位数据至关重要,本文将使用C#语言实现解析WTGPS和BD数据,需要的可以了解下... 目录一、代码结构概览1. 核心解析方法2. 位置信息解析3. 经纬度转换方法4. 日期和时间戳解析5. 辅助方法二、L

使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)

《使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)》字体设计和矢量图形处理是编程中一个有趣且实用的领域,通过Python的matplotlib库,我们可以轻松将字体轮廓... 目录背景知识字体轮廓的表示实现步骤1. 安装依赖库2. 准备数据3. 解析路径指令4. 绘制图形关键