💡阅读指南

本节是一堂简单的实战课。我们会用和之前相同的方式下载 B 站视频,同时聊聊哪些视频能下、哪些下不了,以及 CDP 和 Computer Use 这两种浏览器操作方式的区别。

🎬
本节附有教学视频 #25

该视频为课程站点内嵌片段,未收录于本地离线包;如需观看请回到线上课程对应课时。

6.1 下载 B 站视频

和抖音一样,B 站的普通视频也没有做太强的防护。我们可以直接用 CDP 连接浏览器,提取视频流地址,然后下载。

code
用户
CDP 链接到 https://www.bilibili.com/video/xxxxxxx,下载视频

逻辑和下载抖音几乎一模一样:连接浏览器 → 提取视频地址 → 下载。

6.2 什么视频下不了?

B 站的视频分两种情况:

能下载的:普通 UP 主视频。 不管是知识区、科技区还是生活区,只要是 UP 主自己上传的普通视频,基本都没有做 DRM 加密,视频流地址可以直接提取。

下不了的:番剧、电影、大会员专享内容。 这类版权内容使用了 Widevine DRM 加密(Google 的内容解密模块),视频流即使拿到了也是加密的,无法直接播放。B 站从 2022 年开始还加了自己的 BiliDRM,进一步收紧了防护。1080P 以上的高画质内容也默认启用了 DRM。

所以如果你让 Agent 去下载一部番剧,它会发现视频流地址能拿到,但下载下来是一堆打不开的数据——这就是 DRM 在起作用。

6.3 CDP 和 Computer Use 有什么区别?

你可能注意到了,CDP 和 Computer Use 都能操作浏览器,但它们的工作方式完全不同。

CDP(浏览器插件) Computer Use
控制方式 通过 WebSocket 协议直接控制浏览器内部 通过截图识别 + 模拟鼠标键盘
看到什么 DOM 结构、网络请求、JavaScript 变量 屏幕上的像素
精确度 极高,可以精准拿到页面内的任何数据 依赖视觉识别,偶尔会点错位置
速度 快,毫秒级响应 慢,每一步都要截图、分析、点击
适合做什么 数据提取、表单填写、下载文件 操作桌面应用、跨窗口操作、复杂 UI 交互

简单理解:CDP 像是你打开了浏览器的"开发者工具",能看到页面背后的一切;Computer Use 像是你站在屏幕前,用眼睛看、用鼠标点。

对于下载视频这种任务,CDP 是更好的选择——你需要的是精确拿到视频流地址,而不是在屏幕上找那个播放按钮。但如果你的任务是"打开浏览器,登录 B 站,找到一个视频,然后下载",那 Computer Use 可以帮你完成前面那些步骤,到最后下载环节再交给 CDP。两者可以配合使用。

💡提示

理论上来讲,CDP 可以解决绝大多数的网页端下载问题,因为它是直接操控浏览器底层协议,能拿到页面内部的 DOM 结构、网络请求等数据。遇到需要下载的场景,优先想想 CDP 能不能搞定,通常都可以。

6.4 ■ 学点英语

中文 English 音标 说明
Chrome DevTools 协议 Chrome DevTools Protocol /kroʊm ˈdevtuːlz ˈproʊtəkɔːl/ Chrome 提供给开发工具和自动化程序控制浏览器的协议
网络请求 Network Request /ˈnetwɜːrk rɪˈkwest/ 浏览器或程序向服务器发送的数据请求
请求拦截 Request Interception /rɪˈkwest ˌɪntərˈsepʃən/ 在网络请求发送或返回时进行捕获和处理
开发者工具 Developer Tools /dɪˈveləpər tuːlz/ 浏览器提供给开发者调试页面和网络的工具