You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TikTok视频字幕爬取求助:CSS选择器始终无法定位元素

爬取TikTok视频字幕时CSS选择器定位失败的解决办法

问题分析

你尝试用Selenium定位TikTok视频字幕的CSS选择器,但多次尝试都无法找到元素,核心原因包括:CSS选择器语法错误、TikTok动态生成的class无法稳定定位、页面反爬机制限制。

解决步骤

1. 修正CSS选择器语法

原代码中的选择器存在语法错误:

  • 错误写法:div.tiktok-1fo8i23-DivContainer ejg0rhn0
    这里的ejg0rhn0是元素的另一个class,应该用.连接(空格表示后代元素),正确写法为div.tiktok-1fo8i23-DivContainer.ejg0rhn0

2. 放弃动态class,改用稳定定位方式

TikTok的class带随机字符串(如tiktok-1fo8i23-DivContainer),刷新页面就会变化,完全依赖class定位不可靠。推荐用以下两种方式:

  • E2E属性定位:TikTok提供了data-e2e属性用于测试,这类属性相对稳定,比如字幕容器的data-e2e="video-desc"
  • 层级结构定位:通过元素的父容器层级逐步定位,比如先找到视频主体,再向下查找字幕元素

3. 配置Selenium规避反爬

TikTok会检测自动化工具,需要给ChromeDriver添加配置,避免被识别为爬虫:

  • 启用无头模式
  • 禁用自动化提示
  • 修改navigator.webdriver属性

修正后的代码示例

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.chrome.options import Options

url = "https://www.tiktok.com/@jrocssj/video/7134394312397327662"

# 配置Chrome选项规避反爬
chrome_options = Options()
chrome_options.add_argument("--headless=new")
chrome_options.add_argument("--disable-blink-features=AutomationControlled")
chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"])
chrome_options.add_experimental_option('useAutomationExtension', False)

driver = webdriver.Chrome(options=chrome_options)
# 修改webdriver属性,避免被检测
driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})")
driver.get(url)

try:
    # 用稳定的data-e2e属性定位字幕元素
    caption_element = WebDriverWait(driver, 20).until(
        EC.presence_of_element_located((By.CSS_SELECTOR, '[data-e2e="video-desc"]'))
    )
    print(caption_element.text.strip())
except Exception as e:
    print(f"获取字幕失败:{str(e)}")
finally:
    driver.quit()

进阶方案:直接调用TikTok API

如果Selenium仍然遇到问题,建议直接抓包TikTok的视频详情API(如/api/v1/item/detail/),通过接口请求获取字幕数据,这种方式更高效,也无需处理页面动态加载问题。

内容的提问来源于stack exchange,提问作者user21292742

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 00:00:32