带=$0标记的动态HTML标签无法被BeautifulSoup解析,如何获取视频src?
解决方法汇总
一、修复你的Selenium代码(直接获取video的src)
你之前的代码有两个核心问题:
- 新版Selenium已废弃
executable_path参数,必须用Service对象替代 - 你打印的是
video.text,但video标签本身没有文本内容,要获取的是它的src属性;另外页面加载需要时间,直接查找元素可能还没渲染完成,得加等待逻辑
修复后的代码:
from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC DRIVER_PATH = '/path/to/chromedriver' # 初始化Service对象适配新版Selenium service = Service(executable_path=DRIVER_PATH) driver = webdriver.Chrome(service=service) try: driver.get("https://mplayer.me/default.php?id=MTc3ODc3") # 最多等待10秒,直到video元素加载完成 video = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.TAG_NAME, "video")) ) # 获取视频的src属性 print(video.get_attribute("src")) finally: driver.quit()
二、通过解析页面内的JSON配置获取视频链接(无需Selenium)
这类视频网站通常会把视频信息放在页面的script标签里,你可以用BeautifulSoup提取配置内容,再解析JSON拿到链接,步骤如下:
- 用requests请求页面源码
- 定位包含播放器配置的script标签(一般带有
window.playerConfig这类变量) - 提取标签内的JSON片段,用json模块解析
- 从解析后的字典中找到视频src地址
示例代码:
import requests from bs4 import BeautifulSoup import json url = "https://mplayer.me/default.php?id=MTc3ODc3" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" } response = requests.get(url, headers=headers) soup = BeautifulSoup(response.text, "html.parser") # 遍历所有script标签,找到包含播放器配置的内容 for script in soup.find_all("script"): if "playerConfig" in script.text: # 截取JSON部分(根据实际页面内容调整截取逻辑) config_text = script.text.split("window.playerConfig = ")[1].split(";")[0] config = json.loads(config_text) # 从配置字典中提取视频地址,具体路径需根据实际JSON结构调整,示例路径如下 video_src = config['playlist'][0]['sources'][0]['file'] print(video_src) break
提示:你可以打开目标网站的开发者工具,在控制台输入window.playerConfig查看完整的JSON结构,确认视频地址的具体路径。
原代码输出空白的原因
video标签本身没有文本内容,所以video.text自然为空,你需要用get_attribute("src")获取视频链接;另外页面加载需要时间,直接查找元素时可能还没渲染完成,所以必须添加等待逻辑。
内容的提问来源于stack exchange,提问作者Boros
相关产品推荐
相关产品推荐

