BilibiliHistoryFetcher  by 2977094657

CLI tool for fetching and analyzing Bilibili user history

Created 11 months ago
968 stars

Top 38.0% on SourcePulse

GitHubView on GitHub
Project Summary

This project provides a comprehensive tool for fetching, processing, analyzing, and visualizing Bilibili user watch history data. It targets Bilibili users who want to manage their viewing history, download videos, generate annual summaries, and automate related tasks, offering a complete data pipeline from acquisition to visualization.

How It Works

The tool leverages Bilibili's API to retrieve watch history, user uploads, and favorite lists. It processes this data to generate annual summaries, AI-powered video summaries, and allows for bulk downloading of videos and user-uploaded content. The architecture supports both CPU and GPU (CUDA) processing, with FFmpeg integrated for video downloading and FasterWhisper for audio transcription.

Quick Start & Requirements

  • Docker:
    • Build: docker build -t bilibili-api:dev -f docker/Dockerfile.cuda . (for GPU) or docker build -t bilibili-api:dev -f docker/Dockerfile.cpu . (for CPU).
    • Run: docker run -d -v ./config:/app/config -v ./output:/app/output -p 8899:8899 --gpus all --ipc=host --ulimit memlock=-1 --ulimit stack=67108864 --name bilibili-api bilibili-api:dev (for GPU) or docker run -d -v ./config:/app/config -v ./output:/app/output -p 8899:8899 --name bilibili-api bilibili-api:dev (for CPU).
    • Docker Compose: Download docker-compose.yml and run docker-compose up -d.
  • uv: uv sync to install dependencies, uv run main.py to run. PyTorch installation requires specifying backend (auto for GPU, cpu).
  • pip: pip install -r requirements.txt to install dependencies, python main.py to run.
  • System Requirements: Python 3.10+, SQLite, FFmpeg.
  • Configuration: Requires SESSDATA and potentially DeepSeek API keys.
  • Docs: API documentation available at http://localhost:8899/docs.

Highlighted Details

  • Supports batch downloading of user uploads and favorite videos.
  • Features AI summarization for videos using DeepSeek API.
  • Includes functionality to fix broken video links.
  • Offers automated task scheduling and email notifications.

Maintenance & Community

  • Active development with a roadmap available on GitHub.
  • QQ group for community support: 1030089634.
  • Dependencies include bilibili-API-collect, Yutto, FasterWhisper, DeepSeek, ArtPlayer, and aicu.cc.

Licensing & Compatibility

  • The repository does not explicitly state a license in the provided README.

Limitations & Caveats

  • The project's licensing is not specified, which may impact commercial use or integration into closed-source projects.
  • AI features require configuration of external API keys (DeepSeek).
Health Check
Last Commit

2 weeks ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
3
Star History
81 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.