使用Selenium自动化获取抖音创作者平台视频数据

前言

在当今短视频盛行的时代,抖音作为国内领先的短视频平台,吸引了大量内容创作者。对于创作者而言,了解自己发布的视频表现(如播放量、发布时间等)至关重要。本文将介绍如何使用Python的Selenium库来自动化获取抖音创作者平台上的视频数据。

技术栈

  • Python 3

  • Selenium

  • Chrome浏览器

实现步骤

1. 环境准备

首先需要安装必要的Python库:

bash

复制

下载

复制代码
pip install selenium

同时需要下载对应版本的ChromeDriver,并将其放在系统PATH路径下或与脚本同一目录。

2. 代码解析

2.1 导入所需库

python

复制

下载

复制代码
import os
import time
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
2.2 设置Chrome用户数据目录

python

复制

下载

复制代码
account_en = "73118918368"
base_dir = os.getcwd()
new_user_data_directory = os.path.join(base_dir, f"{account_en}")
if not os.path.exists(new_user_data_directory):
    os.makedirs(new_user_data_directory)

这段代码创建了一个独立的Chrome用户数据目录,可以保存登录状态,避免每次运行都需要重新登录。

2.3 配置Chrome选项

python

复制

下载

复制代码
options = webdriver.ChromeOptions()
options.add_argument(f"user-data-dir={new_user_data_directory}")  # 使用新的用户数据目录
options.add_argument("profile-directory=Default")
options.add_argument("--start-maximized")  # 最大化窗口
driver = webdriver.Chrome(options=options)
2.4 访问抖音创作者平台

python

复制

下载

复制代码
driver.get("https://creator.douyin.com/creator-micro/content/manage")
time.sleep(1)
2.5 获取视频卡片信息

python

复制

下载

复制代码
video_cards = WebDriverWait(driver, 10).until(
    EC.presence_of_all_elements_located((By.CSS_SELECTOR, ".video-card-info-aglKIQ"))

这里使用了显式等待(WebDriverWait)来确保元素加载完成,比单纯的time.sleep更加可靠。

2.6 解析视频数据

python

复制

下载

复制代码
for card in video_cards:
    try:
        # 获取标题信息
        title = card.find_element(By.CSS_SELECTOR, ".info-title-text-YTLo9y").text
        title_part = title.split(' ')[0] if ' ' in title else title

        # 获取发布时间
        time_element = card.find_element(By.CSS_SELECTOR, ".info-time-iAYLF0")
        publish_time = time_element.text

        # 获取播放量
        play_count = card.find_element(By.XPATH,
                                     ".//div[contains(@class, 'metric-item-u1CAYE') and .//div[text()='播放']]//div[contains(@class, 'metric-value-k4R5P_')]").text

        print(f"标题: {title_part}")
        print(f"发布时间: {publish_time}")
        print(f"播放量: {play_count}")
        print("-" * 30)
    except Exception as e:
        print(f"处理卡片时出错: {e}")
        continue

3. 完整代码

完整代码见文章开头部分

关键点解析

  1. 用户数据目录:通过设置独立的用户数据目录,可以保存登录状态,避免每次都需要重新登录。

  2. 元素定位

    • 使用CSS选择器定位标题和发布时间

    • 使用XPath定位播放量,结合contains函数处理动态类名

  3. 异常处理:使用try-except块捕获处理单个卡片时的异常,确保一个卡片出错不会影响整个程序。

  4. 显式等待:使用WebDriverWait代替硬性等待,提高脚本的稳定性和执行效率。

应用场景

  1. 内容分析:定期收集视频数据,分析哪些类型的内容更受欢迎

  2. 效果追踪:监控视频播放量的变化趋势

  3. 自动化报告:将收集的数据自动生成可视化报告

注意事项

  1. 抖音的页面结构可能会更新,需要定期检查CSS选择器和XPath是否需要调整

  2. 频繁请求可能会触发反爬机制,建议合理设置请求间隔

  3. 需要先手动登录一次账号,保存登录状态

扩展思路

  1. 将数据保存到数据库或Excel中

  2. 添加定时任务,定期自动收集数据

  3. 增加更多指标的采集,如点赞数、评论数等

  4. 开发可视化面板展示数据变化

结语

通过本文介绍的方法,你可以轻松实现抖音创作者平台视频数据的自动化采集。这只是一个起点,你可以在此基础上开发更多实用的功能,帮助自己或团队更好地分析视频表现,优化内容策略。

希望这篇文章对你有所帮助!如果你有任何问题或建议,欢迎在评论区留言讨论。

相关推荐
notion20251 小时前
Optuna 黑科技自动化超参数优化框架详解
运维·科技·其他·自动化
山东布谷科技官方5 小时前
高并发视频直播系统源码:从直播架构设计开发到搭建部署上线
音视频·直播并发
B站_计算机毕业设计之家9 小时前
基于大数据的短视频数据分析系统 Spark哔哩哔哩视频数据分析可视化系统 Hadoop大数据技术 情感分析 舆情分析 爬虫 推荐系统 协同过滤推荐算法 ✅
大数据·hadoop·爬虫·spark·音视频·短视频·1024程序员节
_落纸10 小时前
《自动控制原理》第 3 章 线性控制系统的运动分析:3.6、3.7
笔记·自动化
音视频牛哥12 小时前
低空经济的实时神经系统:空地一体化音视频架构的技术演进
机器学习·计算机视觉·音视频·低空经济·人工智能+·evtol·ai感知网络
平淡是真_13 小时前
软件测试(五)--自动化测试Selenium(一)
selenium·测试工具
Run Freely93713 小时前
selenium_web自动化测试_02_元素操作
selenium·测试工具
北极糊的狐14 小时前
用狸窝转换器转换视频后文件变大的问题排查
microsoft·音视频
碧海银沙音频科技研究院14 小时前
ES7243E ADC模拟音频转i2S到 BES I2S1 Master输出播放到SPK精准分析
人工智能·算法·音视频
音视频牛哥14 小时前
从“十五五”规划看中国视频基础设施的下一个五年:SmartMediaKit 的战略跃迁与时代机遇
人工智能·音视频·大牛直播sdk·十五五规划具身智能·十五五规划音视频·低空经济低延迟音视频方案·具身智能rtsp rtmp