Bilibili Downloader
Quick Start
Download a video by URL:
pip install bilibili-api-python
python -c "
from bilibili_api import video, sync
v = video.Video(bvid='BV1xx411c7m2')
sync(v.download(output='./video.mp4'))
"
Download Options
Video Quality
- Specify quality with
qnparameter (127=8K, 126=杜比, 125=1080P+, etc.) - Default selects best available quality
Audio Download
- Download original soundtrack:
v.download_audious(output='./audio.mp3') - Supports various audio formats
Subtitles
- Get available subtitles:
v.get_subtitle() - Download subtitle files:
sync(v.download_subtitle(output='./'))
Covers and Thumbnails
- Get cover URL:
v.get_cover() - Download cover:
sync(v.download_cover(output='./cover.jpg'))
Common Tasks
Download Single Video
from bilibili_api import video, sync
v = video.Video(bvid='BV1xx411c7m2')
sync(v.download(output='./video.mp4'))
Download with Specific Quality
from bilibili_api import video, sync
v = video.Video(bvid='BV1xx411c7m2')
info = v.get_download_url(qn=127) # 8K quality
Download Entire Playlist
from bilibili_api import video, sync
from bilibili_api import playlist
pl = playlist.Playlist(playlist_id='123456')
for v in sync(pl.get_videos()):
sync(v.download(output=f'./playlist/{v["title"]}.mp4'))
Download Audio Only
from bilibili_api import video, sync
v = video.Video(bvid='BV1xx411c7m2')
sync(v.download_audio(output='./audio.mp3'))
Authentication
For premium content, use browser cookies:
- Login to Bilibili in browser
- Export SESSDATA cookie value
- Set environment variable:
export BILIBILI_SESSDATA='your_cookie_value'
Requirements
- bilibili-api-python:
pip install bilibili-api-python - ffmpeg: Required for video/audio processing
- Python 3.8+
Resources
scripts/
Utility scripts for common download operations.
references/
- API documentation from bilibili-api repo
- Quality codes reference (qn values)
- Cookie setup guide
assets/
Download templates and configuration examples.