前言
在當今短視頻盛行的時代,抖音作為國內領先的短視頻平臺,吸引了大量內容創作者。對于創作者而言,了解自己發布的視頻表現(如播放量、發布時間等)至關重要。本文將介紹如何使用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. 完整代碼
[完整代碼見文章開頭部分]
關鍵點解析
-
用戶數據目錄:通過設置獨立的用戶數據目錄,可以保存登錄狀態,避免每次都需要重新登錄。
-
元素定位:
-
使用CSS選擇器定位標題和發布時間
-
使用XPath定位播放量,結合contains函數處理動態類名
-
-
異常處理:使用try-except塊捕獲處理單個卡片時的異常,確保一個卡片出錯不會影響整個程序。
-
顯式等待:使用WebDriverWait代替硬性等待,提高腳本的穩定性和執行效率。
應用場景
-
內容分析:定期收集視頻數據,分析哪些類型的內容更受歡迎
-
效果追蹤:監控視頻播放量的變化趨勢
-
自動化報告:將收集的數據自動生成可視化報告
注意事項
-
抖音的頁面結構可能會更新,需要定期檢查CSS選擇器和XPath是否需要調整
-
頻繁請求可能會觸發反爬機制,建議合理設置請求間隔
-
需要先手動登錄一次賬號,保存登錄狀態
擴展思路
-
將數據保存到數據庫或Excel中
-
添加定時任務,定期自動收集數據
-
增加更多指標的采集,如點贊數、評論數等
-
開發可視化面板展示數據變化
結語
通過本文介紹的方法,你可以輕松實現抖音創作者平臺視頻數據的自動化采集。這只是一個起點,你可以在此基礎上開發更多實用的功能,幫助自己或團隊更好地分析視頻表現,優化內容策略。
希望這篇文章對你有所幫助!如果你有任何問題或建議,歡迎在評論區留言討論。