使用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").texttitle_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_')]").textprint(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. 開發可視化面板展示數據變化

結語

通過本文介紹的方法,你可以輕松實現抖音創作者平臺視頻數據的自動化采集。這只是一個起點,你可以在此基礎上開發更多實用的功能,幫助自己或團隊更好地分析視頻表現,優化內容策略。

希望這篇文章對你有所幫助!如果你有任何問題或建議,歡迎在評論區留言討論。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/90871.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/90871.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/90871.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SpringCloud之Eureka

SpringCloud之Eureka 推薦參考:https://www.springcloud.cc/spring-cloud-dalston.html#_service_discovery_eureka_clients 1. 什么是Eureka Eureka 用于簡化分布式系統的服務治理,基于REST的服務,用于服務的注冊與發現。通過注冊發現、客戶…

squash壓縮合并

要將test分支的多次提交合并到dev分支并壓縮為一個commit,核心是使用 git merge --squash 命令(壓縮合并),具體步驟如下: 詳細步驟: 1. 切換到dev分支并拉取最新代碼先確保本地dev分支是最新的,…

飛書CEO謝欣:挑戰巨頭,打造AI新時代的Office

引言:飛書要做AI時代辦公協作的逐夢者與破局者。文 | 大力財經在AI浪潮席卷的當下,企業對AI既滿懷期待又充滿焦慮。“AI到底能不能用?AI到底怎么用?”成為縈繞在眾多企業心頭的難題。7月9日召開的飛書未來無限大會,飛書…

React 組件中怎么做事件代理?它的原理是什么?

在 React 組件中,**事件代理(Event Delegation)**其實是 React 內部實現的一部分,開發者通常無需手動實現事件代理,但理解它的原理和使用方式對于優化性能和掌握底層機制非常重要。一、React 中事件代理的原理React 使…

Vue 2現代模式打包:雙包架構下的性能突圍戰

文章目錄一、場景痛點:兼容性與性能的撕裂二、技術解析:Modern Mode的雙引擎驅動1. 基礎認知:什么是Modern Mode?2. 原理深入:HTML智能分發與Safari 10修復3. 性能收益對比表三、Vue 2項目實戰:啟用Modern模…

UniHttp中HttpApiProcessor生命周期鉤子介紹以及公共參數填充-以百度天氣接口為例

目錄 引言 一、UniHttp與HttpApiProcessor簡介 1、生命周期鉤子的重要性 2、公共參數填充的需求 3、生命周期鉤子相關介紹 二、HttpApiProcessor的實際應用 1、在Yml中定義相關參數 2、自定義HttpAPI注解 3、對接接口的定義 4、HttpApiProcessor的具體實現 5、實際調…

pytorch深度學習—RNN-循環神經網絡

結合生活實例,先簡單認識一下什么是循環神經網絡先想個問題:為什么需要 “循環”?你平時看句子、聽語音、看視頻,都是 “按順序” 來的吧?比如 “我吃蘋果” 和 “蘋果吃我”,字一樣但順序不同,…

深度學習常見名詞解釋、評價指標

目錄 一、魯棒性(robustness) 二、泛化能力(Generalization Ability) 核心含義: 如何衡量泛化能力? 三、先驗信息(Prior Information) 四、mIoU (Mean Intersection over Union&#xff0…

docker-compose安裝常用中間件

分為3大部分:數據庫:mysql,redis,mongodb,elasticsearch,neo4j,minio,influxdb,canal-server應用中間件:nacos,apollo,zookeeper&…

基于無人機 RTK 和 yolov8 的目標定位算法

目錄 背景 算法思路 代碼實現 驗證 背景 在城市交通巡檢中如何進行車輛違停判斷很重要,一個方法是通過精確坐標判斷車輛中心是否位于違停框中,我們假設無人機坐標已知,并且無人機云臺鏡頭垂直地面朝下,可根據圖像分辨率、無人機參…

go入門 - day1 - 環境搭建

0. 介紹 go語言可以做什么? a. 區塊鏈 b. 分布式/微服務/云原生 c. 服務器/游戲軟件go的優勢 a. 代碼量比C和Java少 b. 編譯速度比Java或者C快上5到6倍,比Scale塊10被 c. 性能比C慢20%,但是比Java、python等快上5到10倍 d. 內存管理和C媲美&a…

【華為OD】MVP爭奪戰(C++、Java、Python)

文章目錄題目描述輸入描述輸出描述示例解題思路算法思路核心步驟代碼實現C實現Java實現Python實現算法要點復雜度分析解題總結題目描述 在星球爭霸籃球賽對抗賽中,最大的宇宙戰隊希望每個人都能拿到MVP,MVP的條件是單場最高分得分獲得者。可以并列所以宇…

Datawhale 2025 AI夏令營 MCP Server Task2

魔搭MCP &Agent賽事(MCP Server開發)/夏令營:動手開發MCP Server學習鏈接:魔搭MCP &Agent賽事(MCP Server開發) - Datawhale Task1回顧 1.task1應用功能 luner_info每日黃歷 這是一個可以獲取某天…

敏捷開發方法全景解析

核心理念:敏捷開發是以快速響應變化為核心的項目管理方法論,通過迭代式交付、自組織團隊和持續反饋,實現高質量軟件的高效交付。其本質是擁抱變化優于遵循計劃,強調"可工作的軟件高于詳盡的文檔"。 一、敏捷核心思想體系 #mermaid-svg-y7iyWsQGVWn3IpEi {font-fa…

Socket到底是什么(簡單來說)

簡單來說: Socket 抽象了網絡通信的復雜底層細節,讓應用程序開發者可以專注于發送和接收數據,而不用去操心數據在網絡上是如何傳輸的。 它就像一個“黑盒子”,你只需要把數據扔進去,或者從里面取數據,至于數…

linux系統mysql性能優化

1、系統最大打開文件描述符數查看限制 ulimit -n更改配置 # 第一步 sudo vim /etc/security/limits.conf* soft nofile 1048576 * hard nofile 1048576# 第二步 sudo vim /etc/sysctl.conffs.file-max 1048576# 第三步(重啟系統) sudo reboot驗證生效 u…

免費的需要嘗試claude code的API安利,截至今天可用(7月13號)

安裝方法放最后(很簡單,但是你得搞定網絡) 注冊如下: 鏈接如下(有詳細說明): 🚀 AnyRouter|Claude Code 免費共享平臺 安裝(windows用戶特殊點&#xff0…

Java 屬性配置文件讀取方法詳解

Java 屬性配置文件讀取方法詳解 一、配置文件基礎概念 1. 配置文件類型對比類型格式優點缺點適用場景Propertieskeyvalue簡單易讀,Java原生支持不支持層級結構簡單配置,JDBC參數XML標簽層級結構結構化強,支持復雜數據類型冗余,解析…

NW728NW733美光固態閃存NW745NW746

美光NW系列固態閃存深度解析:NW728、NW733、NW745與NW746的全方位評測技術架構與核心創新美光NW系列固態閃存(包括NW728、NW733、NW745、NW746)的技術根基源于其先進的G9 NAND架構。該架構通過5納米制程工藝和多層3D堆疊技術,在單…

【面試八股文】2025最新軟件測試面試

一、測試基礎 1、測試策略或測試包括哪些,測試要覆蓋哪些方面 UI、功能、性能、可靠性、易用性、兼容性、安全性、安裝卸載 2、設計測試用例的辦法 等價類、邊界值、錯誤推測法、場景法等設計方法來編寫測試用例的 (1)等價類分為有效等價…