Skip to content

Collect and store historical subscriber data for any subset of channels to Postgres

License

Notifications You must be signed in to change notification settings

pinapelz/NijiTrack

Repository files navigation

Nijitrack

Historical subscriber count tracker for any subset of YouTube channels. Flask backend and NextJS frontend for visualization.

This code is current deployed as PhaseTracker. Collecting the subscriber data for members of Phase Connect.

Backend:

The code in this repo is the frontend. The backend API is available as a submodule. You can find the repo here

Below are the steps to set up the flask backend for data collection and serving data through a web server (/backend folder of repo)

Dependencies

  • PostgresSQL
  • Python 3.11+
  • Flask 2.1.2+ (Optional)
pip install -r requirements.txt

Usage

a. Add the environment variables in the .env.template

  • B2API fields are uncessary if you are not auto upload to Backblaze B2
  • YouTube API not necessary unless you plan on tracking a non-Holodex subset of channels

b. Specify trace colors in member_color.py (based on Channel Name)

For collection using a set of channels belonging to a Virtual YouTuber organization listed on Holodex

  1. Edit main.py and edit HOLODEX_ORG to the organization name on Holodex and ORG_MEMBER_COUNT to the number of members that organization has
  • Overshooting the member count may lead to additional loop iterations, but in general there will be no problems
HOLODEX_ORG = "Phase%20Connect"
ORG_MEMBER_COUNT = 75
  1. Add channels to be excluded from data collection in data/excluded_channel.txt
  2. Execute with python nijitrack.py

For collection using a custom set of channels configured in data/channels.txt

  1. Configure channels in data/channels.txt in the format YOUTUBE_CHANNEL_ID,CHANNEL_NAME for each line
  2. Execute with python nijitrack.py ytapi

A basic graph will be created using plotly and saved to index.html in the root directory

You can use app.py to host your statistics through Flask or use any other services

Webpage design inspired by TrackHololive

About

Collect and store historical subscriber data for any subset of channels to Postgres

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published