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

Python爬取YouTube视频URL返回空列表:求PW-Foundation频道有效HTML源码

提取YouTube频道视频URL的解决方法

问题根源

直接用urlopen或requests获取的YouTube页面是静态HTML,而频道的视频列表是通过JavaScript动态渲染加载的,静态页面里并没有实际的视频内容节点,所以findAll('div', {'id':'contents'})会返回空列表。

可行解决方案

方案1:用Selenium模拟浏览器渲染

Selenium可以模拟真实浏览器加载页面,获取JavaScript渲染后的完整HTML,从而定位到视频链接。

步骤:

  1. 安装Selenium:pip install selenium
  2. 下载对应浏览器的驱动(比如Chrome的chromedriver,需和浏览器版本匹配)

代码示例:

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
import time

# 初始化Chrome驱动(需确保chromedriver路径正确)
driver = webdriver.Chrome()
driver.get("https://www.youtube.com/@PW-Foundation/videos")

# 等待页面加载并滚动触发内容加载
time.sleep(3)
driver.execute_script("window.scrollTo(0, 500);")
time.sleep(2)

# 等待视频链接元素加载完成
video_links = WebDriverWait(driver, 10).until(
    EC.presence_of_all_elements_located((By.ID, "video-title-link"))
)

# 提取前5个视频的URL
top5_urls = [link.get_attribute("href") for link in video_links[:5]]

for idx, url in enumerate(top5_urls, 1):
    print(f"第{idx}个视频URL: {url}")

# 关闭浏览器
driver.quit()

方案2:用yt-dlp直接提取元数据

yt-dlp是专门处理YouTube等视频网站的工具,无需处理动态渲染,直接提取频道的视频信息更高效。

步骤:

  1. 安装yt-dlp:pip install yt-dlp

代码示例:

import yt_dlp

# 配置选项:静默模式,只提取元数据不下载视频
ydl_config = {
    'quiet': True,
    'extract_flat': True,
}

with yt_dlp.YoutubeDL(ydl_config) as ydl:
    # 提取频道视频列表信息
    channel_info = ydl.extract_info("https://www.youtube.com/@PW-Foundation/videos", download=False)
    # 获取前5个视频的ID,拼接成完整URL
    top5_videos = channel_info['entries'][:5]
    for idx, video in enumerate(top5_videos, 1):
        video_url = f"https://www.youtube.com/watch?v={video['id']}"
        print(f"第{idx}个视频URL: {video_url}")

方案3:使用YouTube Data API(需要API密钥)

如果需要更稳定的获取方式,可以使用官方的YouTube Data API,不过需要先在Google Cloud平台申请API密钥,并且有调用配额限制。核心逻辑是调用channels.list获取频道ID,再调用search.list或playlistItems.list获取视频列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 19:58:18