当前位置: 首页 > news >正文

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

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

通过输入关键词,脚本会自动访问抖音搜索页面,获取相关视频的详细信息,包括用户名、用户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)

相关文章:

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

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

selenium中switch_to.window切换窗口的用法

打开百度多个窗口,遍历切换每个窗口,切到【百度地图】就停止。 使用了driver.switch_to.window() 来切换, 参数是handle值 from selenium import webdriver import time# 创建浏览器驱动对象 from selenium.webdrive…...

【nerf】nvidia-smi

当cmd下nvidia -smi不能使用时候 沿着以下路径打开cmd,再输入,可以查看cuda版本 然后查看电脑安装的...

测试工具fio

一、安装部署 fio是一款优秀的磁盘IO测试工具,在Linux中比较常用于测试磁盘IO 其下载地址:https://brick.kernel.dk/snaps/fio-2.1.10.tar.gz 或者登录其官网:http://freshmeat.sourceforge.net/projects/fio/ 进行下载。 tar -zxvf fio-…...

详解 Flink 的状态管理

一、Flink 状态介绍 1. 流处理的无状态和有状态 无状态的流处理:根据每一次当前输入的数据直接转换输出结果的过程,在处理中只需要观察每个输入的独立事件。例如, 将一个字符串类型的数据拆分开作为元组输出或将每个输入的数值加 1 后输出。…...

手机怎么压缩视频?归纳了三种快速压缩方案

手机怎么压缩视频?在数字时代,手机已经成为我们记录生活的重要工具,而视频作为其中的一种主要形式,更是占据了极大的存储空间。然而,随着手机拍摄的视频越来越多,如何高效压缩视频以节省存储空间&#xff0…...

【实战】kafka3.X kraft模式集群搭建

文章目录 前言kafka2.0与3.x对比准备工作JDK安装kafka安装服务器增加hosts 修改Kraft协议配置文件格式化存储目录 启动集群停止集群测试Kafka集群创建topic查看topic列表查看消息详情生产消息消费消息查看消费者组查看消费者组列表 前言 相信很多同学都用过Kafka2.0吧&#xf…...

华为防火墙配置 SSL VPN

前言 哈喽,我是ICT大龙。本期给大家更新一次使用华为防火墙实现SSL VPN的技术文章。 本次实验只需要用到两个软件,分别是ENSP和VMware,本次实验中的所有文件都可以在文章的末尾获取。话不多说,教程开始。 什么是VPN 百度百科解…...

Redis的删除策略与内存淘汰

文章目录 删除策略设置过期时间的常用命令过期删除策略 内存淘汰相关设置LRU算法LFU 总结 在redis使用过程中,常常遇到以下问题: 如何设置Redis键的过期时间?设置完一个键的过期时间后,到了这个时间,这个键还能获取到么…...

《一心体系至善算法》“人文+AI”成果

《一心体系至善算法》“人文AI”成果 人工智能(AI)和通用人工智能(AGI)的伦理与安全问题: 在《中法联合声明》中,着重强调了AI向善问题。在探讨人工智能(AI)和通用人工智能(AGI&…...

C#面:阐述对DDD的理解

C#是一种面向对象的编程语言,而领域驱动设计(Domain-Driven Design,简称DDD)是一种软件开发方法论,它强调将业务领域的知识和逻辑直接融入到软件设计和开发中。 在C#中实施DDD的关键是将业务领域划分为不同的领域模型…...

音视频开发19 FFmpeg 视频解码- 将 h264 转化成 yuv

视频解码过程 视频解码过程如下图所示: ⼀般解出来的是420p FFmpeg流程 这里的流程是和音频的解码过程一样的,不同的只有在存储YUV数据的时候的形式 存储YUV 数据 如果知道YUV 数据的格式 前提:这里我们打开的h264文件,默认是YU…...

Mysql 常用命令 详细大全【分步详解】

1、启动和停止MySQL服务 // 暂停服务 默认 80 net stop mysql80// 启动服务 net start mysql80// 任意地方启动 mysql 客户端的连接 mysql -u root -p 2、输入密码 3、数据库 4、DDL(Data Definition Language )数据 定义语言, 用来定义数据库对象(数…...

基于百度接口的实时流式语音识别系统

目录 基于百度接口的实时流式语音识别系统 1. 简介 2. 需求分析 3. 系统架构 4. 模块设计 4.1 音频输入模块 4.2 WebSocket通信模块 4.3 音频处理模块 4.4 结果处理模块 5. 接口设计 5.1 WebSocket接口 5.2 音频输入接口 6. 流程图 程序说明文档 1. 安装依赖 2.…...

AIGC作答《2024年高考作文|新课标I卷》能拿多少分?

AIGC作答《2024年高考作文|新课标I卷》能拿多少分? 一、前言二、题目三、作答 一、前言 如火如荼的2024年高考圆满落幕,在如此Happy的时刻,AIGC技术正以其前所未有的热度席卷全球。它不仅改变了我们获取信息的方式,也…...

WHAT - 发布订阅

目录 一、常见实现方案1.1 使用事件发射器(Event Emitter)1.2 自定义事件系统(EventBus)1.3 使用库如 PubSubJS1.4 使用框架内置的状态管理工具Vue.jsReact (使用 Context API 或 Redux) 二、先后关系2.1 缓存事件数据2.2 使用 Re…...

React@16.x(23)useEffect

目录 1,介绍作用介绍 2,注意点2.1,参数1,副作用函数2.1.1,运行时间点2.1.2,返回值2.1.3,闭包的影响2.1.4,严禁出现在代码块中(判断,循环)2.1.5&am…...

算法竞赛一句话解题经典问题分析 ©ntsc 2024

原名:算法竞赛一句话解题&经典问题分析 ©ntsc 2024 处理进度 绿:P1381【~P(今日进度)】蓝:P1099 致CSDN网友: 本文章不定期更新!文章链接: 经典问题分析 基础知识与编程…...

【TensorFlow深度学习】强化学习中的贝尔曼方程及其应用

强化学习中的贝尔曼方程及其应用 强化学习中的贝尔曼方程及其应用:理解与实战演练贝尔曼方程简介应用场景代码实例:使用Python实现贝尔曼方程求解状态价值结语 强化学习中的贝尔曼方程及其应用:理解与实战演练 在强化学习这一复杂而迷人的领…...

牛客 NC129 阶乘末尾0的数量【简单 基础数学 Java/Go/PHP/C++】

题目 题目链接: https://www.nowcoder.com/practice/aa03dff18376454c9d2e359163bf44b8 https://www.lintcode.com/problem/2 思路 Java代码 import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改&#xff…...

【Spring Boot】异常处理

异常处理 1.认识异常处理1.1 异常处理的必要性1.2 异常的分类1.3 如何处理异常1.3.1 捕获异常1.3.2 抛出异常1.3.4 自定义异常 1.4 Spring Boot 默认的异常处理 2.使用控制器通知3.自定义错误处理控制器3.1 自定义一个错误的处理控制器3.2 自定义业务异常类3.2.1 自定义异常类3…...

Laravel学习-自定义辅助函数

因为laravel框架的辅助函数helpers不会进入版本库,被版本库忽略的,只有自己创建一个helpers辅助函数。 可以在任意文件下创建helpers.php文件,建议在app目录下, 然后在composer.json文件中,autoload 中间&#xff0c…...

LLVM Cpu0 新后端6

想好好熟悉一下llvm开发一个新后端都要干什么,于是参考了老师的系列文章: LLVM 后端实践笔记 代码在这里(还没来得及准备,先用网盘暂存一下): 链接: https://pan.baidu.com/s/1yLAtXs9XwtyEzYSlDCSlqw?…...

GAT1399协议分析(9)--图像上传

一、官方定义 二、wirechark实例 有前面查询的基础,这个接口相对简单很多。 请求: 文本化: POST /VIID/Images HTTP/1.1 Host: 10.0.201.56:31400 User-Agent: python-requests/2.32.3 Accept-Encoding: gzip, deflate Accept: */* Connection: keep-alive content-type:…...

Spring ApplicationContext的getBean方法

Spring ApplicationContext的getBean方法 在Spring框架的ApplicationContext中&#xff0c;getBean(Class<T> requiredType)方法可以接受一个类类型参数&#xff0c;这个参数可以是接口类也可以是实现类。 使用接口类&#xff1a; 如果requiredType是一个接口&#xff0c…...

自然语言处理(NLP)—— 自动摘要

自动摘要是一种将长文本信息浓缩为短文本的技术&#xff0c;旨在保留原文的主要信息和意义。 1 自动摘要的第一种方法 它的第一种方法是基于理解的&#xff0c;受认知科学和人工智能的启发。 在这个方法中&#xff0c;我们首先建立文本的语义表示&#xff0c;这可以理解为文本…...

Spring RestClient报错:400 Bad Request : [no body]

我项目采用微服务架构&#xff0c;所以各服务之间通过Spring RestClient远程调用&#xff0c;本来一直工作得好好的&#xff0c;昨天突然发现远程调用一直报错&#xff0c;错误详情如下&#xff1a; org.springframework.web.client.HttpClientErrorException$BadRequest: 400…...

【数据结构】 -- 堆 (堆排序)(TOP-K问题)

引入 要学习堆&#xff0c;首先要先简单的了解一下二叉树&#xff0c;二叉树是一种常见的树形数据结构&#xff0c;每个节点最多有两个子节点&#xff0c;通常称为左子节点和右子节点。它具有以下特点&#xff1a; 根节点&#xff08;Root&#xff09;&#xff1a;树的顶部节…...

C#面:XML与 HTML 的主要区别是什么

C# XML与HTML有以下几个主要区别&#xff1a; 用途不同&#xff1a;XML&#xff08;eXtensible Markup Language&#xff09;是一种用于存储和传输数据的标记语言&#xff0c;它的主要目的是描述数据的结构和内容。HTML&#xff08;HyperText Markup Language&#xff09;是一…...

java并发-如何保证线程按照顺序执行?

【readme】 使用只有单个线程的线程池&#xff08;最简单&#xff09;Thread.join() 可重入锁 ReentrantLock Condition 条件变量&#xff08;多个&#xff09; &#xff1b; 原理如下&#xff1a; 任务1执行前在锁1上阻塞&#xff1b;执行完成后在锁2上唤醒&#xff1b;任务…...

不用开源做网站/抖音代运营大概多少钱一个月

修改当前路径&#xff0c;但是一重启就恢复原样export PATH/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/games 例如&#xff1a;该路径忘记加&path了 ubuntu命令行界面/bin/echo $PATH (查看当前启动路径) cat /etc/profile (查…...

密云石家庄网站建设/爱站工具包的模块有哪些

转载自&#xff1a;http://www.manew.com/3102.html Unity3D中一些脚本的方法只能用在JS中&#xff0c;在C#中是无效的&#xff0c;而C#可以与服务器端通讯&#xff0c;JS本身却不行。而且&#xff0c;如果需要用到js调用c#的问题&#xff0c;js会比c#先编译&#xff0c;所以在…...

微信网站建设公司/网站项目开发流程

版权声明&#xff1a;以上文章中所选用的图片及文字来源于网络以及用户投稿&#xff0c;由于未联系到知识产权人或未发现有关知识产权的登记&#xff0c;如有知识产权人并不愿意我们使用&#xff0c;如果有侵权请立即联系&#xff1a;55525090qq.com&#xff0c;我们立即下架或…...

php根据ip 跳转网站/怎么做产品推广平台

1、接口类似于类&#xff0c;但接口的成员都没有执行方式&#xff0c;它只是方法、属性、事件和索引符的组合而已&#xff0c;并且也只能包含这四种成员&#xff1b;类除了这四种成员之外还可以别的成员(如字段)。2、不能实例化一个接口&#xff0c;接口只包括成员的签名&#…...

海盐网站建设/怎么有自己的网站

软件简介 Soft Introduction华旭HX-FDX3S读卡器SDK资源包&#xff0c;压缩包内有读卡器的驱动以及华旭验证软件7.5.3二代证驱动(支持32位、64位)2014版,调用示例及设备动态库。USB3.0通讯接口使用提示当您购买支持USB3.0的新的PC机时&#xff0c;在使用华旭第二代身份证阅读器产…...

深圳网站制作公司报价/seo千享科技

开发 sdk 时经常遇到需要打包的情况&#xff0c;如果是多人开发的 sdk 自然是搭建自动化打包平台&#xff0c;利用自动化打包平台比较方便快捷&#xff0c;但单人开发的 sdk 还是配置打包脚本比较方便快捷&#xff0c;本文介绍两种常见的 sdk 开发方式下的打包方式。 1.使用 co…...