requests爬取b站视频
时间: 2023-11-28 14:04:07 浏览: 49
要使用 requests 库爬取 B 站视频,需要先获取到视频的真实地址。可以通过以下步骤实现:
1. 打开 B 站视频页面,按 F12 进入开发者工具,切换到 Network 选项卡。
2. 播放视频,观察 Network 中的请求,找到名为 “playUrl” 或 “qn-” 的请求。
3. 点击该请求,在右侧的 Headers 中查找真实地址,一般在 Referer 或 Origin 中。
4. 使用 requests 库发送该真实地址的请求,即可获取到视频的二进制数据,保存到本地即可。
以下是一个示例代码,以获取 B 站视频 BV1g5411o7FD 的真实地址为例:
``` python
import requests
# 获取真实地址
url = 'https://api.bilibili.com/x/player/playurl?bvid=BV1g5411o7FD&cid=206177853&qn=80&otype=json'
headers = {
'Referer': 'https://www.bilibili.com/video/BV1g5411o7FD',
'Origin': 'https://www.bilibili.com',
}
response = requests.get(url, headers=headers).json()
video_url = response['data']['dash']['video'][0]['baseUrl']
# 下载视频并保存到本地
response = requests.get(video_url, stream=True)
with open('BV1g5411o7FD.mp4', 'wb') as f:
for chunk in response.iter_content(chunk_size=1024):
if chunk:
f.write(chunk)
```
注意:以上代码仅供学习参考,请勿用于非法用途。