Skip to content

Use bilix to download BiliBili video and upload to the Internet Archive with metadata and danmaku.

License

Notifications You must be signed in to change notification settings

saveweb/biliarchiver

Repository files navigation

biliarchiver

Archiving tool for Bilibili based on bilix

PyPI version

Install

pip install biliarchiver

Usage

biliarchiver --help

Basic usage

Follow these steps to start archiving:

  1. Initialize a new workspace in current working directory:
biliarchiver init
  1. Provide cookies and tokens following instructions:
biliarchiver auth
  1. Download videos from BiliBili:
biliarchiver down --bvids BVXXXXXXXXX
  • This command also accepts a list of BVIDs or path to a file. Details can be found in biliarchiver down --help.
  1. Upload videos to Internet Archive:
biliarchiver up --bvids BVXXXXXXXXX
  • This command also accepts a list of BVIDs or path to a file. Details can be found in biliarchiver up --help.

Rest API

  1. Start server
biliarchiver api
  1. Add videos
curl -X PUT -H "Content-Type: application/json" http://127.0.0.1:8000/archive/BVXXXXXX

Develop

Install

Please use poetry to install dependencies:

poetry install

Build English locale if necessary. Refer to the last section for details.

Run

poetry run biliarchiver --help

Debug using another workspace:

poetry --directory /path/to/workspace run biliarchiver --help

Lint

poetry run ruff check .

i18n

To generate and build locales, you need a GNU gettext compatible toolchain. You can install mingw and use sh to enter a bash shell on Windows.

Generate or update biliarchiver.pot:

find biliarchiver/ -name '*.py' | xargs xgettext -d base -o biliarchiver/locales/biliarchiver.pot

Add a new language:

msginit -i biliarchiver/locales/biliarchiver.pot -o en.po -l en

Update a language:

pnpx gpt-po sync --po biliarchiver/locales/en/LC_MESSAGES/biliarchiver.po --pot biliarchiver/locales/biliarchiver.pot

(Important) Build a language:

msgfmt biliarchiver/locales/en/LC_MESSAGES/biliarchiver.po -o biliarchiver/locales/en/LC_MESSAGES/biliarchiver.mo