如何用python爬取哔哩哔哩的视频
时间: 2023-12-04 18:04:37 浏览: 92
你可以使用 Python 的 requests 和 BeautifulSoup 库来爬取哔哩哔哩的视频。
首先,你需要安装这两个库。可以通过以下命令来安装:
```
pip install requests beautifulsoup4
```
接下来,你需要找到哔哩哔哩视频的 URL。可以通过以下方式来找到:
1. 在哔哩哔哩网站上找到你想要爬取的视频,并复制视频的链接。
2. 在你想要爬取的视频页面上,按下 F12 键打开浏览器的开发者工具,切换到 Network 选项卡。
3. 刷新页面,然后在开发者工具中找到 Name 为 api.bilibili.com 的请求,复制这个请求的 URL。
接下来,你可以使用以下代码来爬取视频:
```python
import requests
from bs4 import BeautifulSoup
# 将视频链接替换成你想要爬取的视频链接
url = "https://www.bilibili.com/video/BV1G4411x7s"
# 获取视频页面的 HTML
r = requests.get(url)
html = r.text
# 使用 BeautifulSoup 解析 HTML
soup = BeautifulSoup(html, "html.parser")
# 找到视频的 aid(视频编号)
aid = soup.find("meta", {"itemprop": "url"})["content"].split("/")[-1].split("?")[0]
# 构造 API 请求的 URL
api_url = f"https://api.bilibili.com/x/web-interface/view?aid={aid}"
# 发送 API 请求
r = requests.get(api_url)
json_data = r.json()
# 找到视频的 cid(弹幕编号)
cid = json_data["data"]["cid"]
# 构造视频源文件的 URL
video_url = f"https://www.bilibili.com/video/{aid}?cid={cid}"
# 下载视频
r = requests.get(video_url)
with open(f"{aid}.mp4", "wb") as f:
f.write(r.content)
```
这个代码会将视频保存到当前目录下,以视频的编号作为文件名。你可以将视频链接替换成你想要爬取的视频链接。