python - 如何在不开始流式传输视频的情况下检索YouTube页面?

标签 python youtube

实际上,我不确定它是否尝试流式传输视频,解析YouTube页面所需的时间仅比正常情况下长几秒钟。

我想解析一个随机的Youtube视频页面,以查看是否已删除它,并且我希望确保加载除视频本身以外的所有内容。我有下面的代码可以正常工作,只是花了一段时间才完成(我假设视频开始加载会减慢速度,虽然尚未测试确认)

import requests, bs4

url = 'https://www.youtube.com/watch?v=XYZ'
parameters = {'magic_var' : 'no_load'}
r = requests.get(url, params=parameters)
soup = bs4.BeautifulSoup(r.content)

我的问题是,是否可以设置某种参数来确保视频不会在页面请求上立即开始加载。

最佳答案

浏览器加载页面(和页面引用的Flash Player)后,将在单独的请求中流式传输视频。视频不是页面数据本身的一部分。样式,脚本和图像都没有。它们都是HTML页面中编码的引用,供浏览器解释。

仅仅请求页面本身并不会启动视频流,否。

换句话说,所有requests.get()将加​​载的是浏览器也加载的基本HTML标记。除非您随后解释该HTML标记并开始加载页面中引用的资源,否则您将不会自动开始加载其他内容。

关于python - 如何在不开始流式传输视频的情况下检索YouTube页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15012461/

相关文章:

android - 如何通过 Intent 播放 YouTube 视频?

api - 从 channel 中找到一个YouTube用户ID

javascript - 在Jquery Mobile + Android Webview的视频缩略图上方插入播放按钮(图像)

python - 初学者 Python 问题 RE : String Formatting Type and repr() function

python - 如何将带有变音符号 ɔ̃、ɛ̃ 和 ɑ̃ 的字符与 python 中的无重音符号(从 utf-8 编码的文本文件导入)进行比较?

javascript - 使用 YouTube API 时 undefined variable ?

html - 视频无法在 Firefox 中运行

python - 如何移动数据框的日期?

python - 结合两个 matplotlib 颜色图

python - 如何使用 Python 和 Gstreamer 创建视频缩略图