基于DrissionPage、yt_dlp等工具下载B站视频
时间: 2024-09-25 21:03:41 浏览: 53
基于DrissonPage和yt_dlp这样的工具下载哔哩哔哩(B站)视频,主要是利用它们提供的API和命令行功能来抓取并下载视频资源。以下是简要步骤:
1. **安装必要的工具**:
- DrissionPage是一个浏览器自动化库,用于爬取网页内容,特别是动态加载的内容。你可以通过pip安装它:`pip install drission`
- yt_dlp是YouTube-DL的一个分支,用于下载各种网站的视频,包括B站。同样,使用pip安装:`pip install yt-dlp`
2. **获取视频URL**:
- 首先访问B站视频页面,复制视频的实际播放地址(通常以`https://www.bilibili.com/video/`开头),而不是分享链接。
3. **使用DrissonPage**:
- 使用Python编写脚本,导入drission,模拟浏览器行为登录B站,并请求视频页面。如果需要登录,需要输入cookie信息。
```python
from drission import D
d = D()
d.goto('https://www.bilibili.com/video/<video_id>')
webpage = d.body.read()
```
4. **解析视频URL**:
- 从网页中提取出视频的真实下载链接,这通常隐藏在HTML源码中。这可能需要一些正则表达式技巧,或者直接查找特定的字符串。
5. **使用yt_dlp下载**:
- 将解析出的视频URL传递给yt_dlp,设置保存路径。
```python
import yt_dlp
video_url = '解析得到的视频URL'
output_path = 'output.mp4'
with yt_dlp.YoutubeDL() as ydl:
ydl.download([video_url], output_path=output_path)
```
阅读全文