Skip to main content

Youtube subscription manager

Project description

Youtube_subscription_manager

PyPI example docs Github GitLab

If you have a problem, create an issue rather than sending me an email otherwise the response time will be longer, Thanks.

Description

Youtube_subscription_manager is an alternative to youtube.com to retrieve the videos of your subscriptions feed without requires an account (You can also recover the videos of other platform).

It can gather informations about every video in a playlist, a channel or your subsciptions feed and outputs it as a html page, a detailed list or a list of links.

Installation

  1. Clone the project: git clone https://github.com/sawyerf/youtube-sm.git
  2. Open the folder you just cloned : cd youtube-sm
  3. Execute the setup: sudo python3 setup.py install
  4. Recover your subscription file in youtube and you are ready to go !

Usage

  1. Download your subscriptions configuration from youtube.com (here)
  2. Once this is done, you may load it by using the following command :
youtube-sm --init [file]
  1. Finally, you can start using the program using the commands shown below :
youtube-sm [OPTIONS]

Commands

-a           URL       Add a sub to your sub list.
-e                     Edit your sub list.
-h                     Print this help text and exit.
-l           URL       Analyze only one sub.
-m           MODE      Choose the type of the output file (html, json, raw, list).
-r                     Remove the cache.
-t           DAYS      Select how many DAYS ago the last content written to your file will be dated .
-v                     Verbose.
--af         FILE      Add a list of sub to your sub list.
--ax         FILE      Add a xml file in your sub list.
--cat                  View your subscriptions.
--css        STYLE     Export the css files (light, dark, switch).
--dead                 Show the dead channels + those who posted no videos.
--help                 Print this help text and exit.
--html                 Recover sub with html page instead of RSS. This method recover more videos.
--init       FILE      Remove all your subs and add new.
--loading              Print a progress bar.
--old                  Show channels who didn't post videos since DAYS.
--output     FILE      Write the output in FILE.
--version              Print version.
--test                 

Support Platforms

  • Dailymotion
  • Evous Manifestation
  • Infoconcert
  • La Quadrature du Net
  • Peertube
  • Reddit
  • Revolution Permanente
  • Twitter
  • Youtube

Example

  • Basic
youtube-sm
  • Your sub since 1 month
youtube-sm -t 30 --css --loading
  • All the videos of a channel
youtube-sm -l https://www.youtube.com/channel/UC-lHJZR3Gqxm24_Vd_AJ5Yw -t -1 -m list --loading -r --output test.csv
  • Add a sub
youtube-sm -a https://www.youtube.com/channel/UC-lHJZR3Gqxm24_Vd_AJ5Yw

Type of File

Raw :

{date}     {video_id}     {channel_id}     {title}     {channel}     {link_pic}

List :

https://www.youtube.com/watch?v={video_id}

View :

{views}

Json :

{
	"url": {
		"content": "https://www.youtube.com/watch?v=ID",
		"image": "https://i.ytimg.com/vi/ID/mqdefault.jpg",
		"uploader": "https://youtube.com/channel/ID"
	},
	"date": "2020-04-23 16:08:22",
	"title": "Video Title",
	"uploader": "Channel",
	"views": "228283"
}

Html :

<!--NEXT -->
<div class="video">
	<a class="left" href="{video_id}">
		<div class="container">
			<img src="{link_pic}">
			<div class="bottom-right">{time}</div>
		</div>
	</a>
	<a href="https://www.youtube.com/watch?v={video_id}"><h4>{title}</h4> </a>
	<a href="https://www.youtube.com/channel/{channel_id}"> <p>{channel}</p> </a>
	<p>{date}</p>
	<p class="clear"></p>
</div>

Cache

3 files are generated by the program : sub.swy, log and data/.

  • sub.swy is a list of yours subscriptions.
  • log contains the script's time of execution.
  • data/ is a folder where the information for every video are stored.

These 3 files are generated in:

  • Windows: C:\Users\<name>\.youtube_sm\.
  • Linux/MacOS: /home/<name>/.cache/youtube_sm/..

Requirements

  • Python 3

Compatible

  • Linux
  • Windows
  • Android (Termux)
  • MacOS

Screenshots

Phone screen PC screen

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

youtube_sm-2021.6.9.tar.gz (27.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

youtube_sm-2021.6.9-py3-none-any.whl (35.4 kB view details)

Uploaded Python 3

File details

Details for the file youtube_sm-2021.6.9.tar.gz.

File metadata

  • Download URL: youtube_sm-2021.6.9.tar.gz
  • Upload date:
  • Size: 27.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.21.0 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.7.3

File hashes

Hashes for youtube_sm-2021.6.9.tar.gz
Algorithm Hash digest
SHA256 5f38ea15e9b4c576ca1f6bb0fb20b2e696c104599feffdc12395bf420aa3a752
MD5 b7a0fc2e69b98f58b601a70434215fb3
BLAKE2b-256 191b7ae3f23f141898d521f0c216a9e75d6dd320122a8673640ed096c35377a6

See more details on using hashes here.

File details

Details for the file youtube_sm-2021.6.9-py3-none-any.whl.

File metadata

  • Download URL: youtube_sm-2021.6.9-py3-none-any.whl
  • Upload date:
  • Size: 35.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.21.0 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.7.3

File hashes

Hashes for youtube_sm-2021.6.9-py3-none-any.whl
Algorithm Hash digest
SHA256 bca8eecc89fba4ea1a5ee23e49ebedd192a6996ede3c71324ab998e83264b8d9
MD5 0584a4e36d3a96023347377692e4bd9b
BLAKE2b-256 cba0a21ed9e5f86a925e2fff76c2a2867464b680ee60f9ab503f6248ed359b7f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page