Skip to main content

Youtube subscription manager

Project description

# Youtube_subscription_manager

[![PyPI](http://img.shields.io/pypi/v/youtube-sm.svg)](http://pypi.python.org/pypi/youtube-sm/)

- [Description](#description)
- [Installation](#installation)
- [Usage](#usage)
- [Commands](#commands)
- [Type of File](#type-of-file)
- [Cache](#cache)
- [HTML & RSS](#html--rss)
- [Requirements](#requirements)
- [Compatible](#compatible)
- [Screenshots](#screenshots)

## Description
Youtube_subscription_manager is an alternative to youtube.com to recover your subscriptions without requires an account.

It can gather informations about every video in a playlist, a channel or your subsciption 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_suscription_manager.git`
2. Open the folder you just cloned : `cd Youtube_subscription_manager`
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](https://www.youtube.com/subscription_manager?action_takeout=1))
2. Once this is done, you may load it by using the following command :

```
youtube-sm --init [file]
```
3. Finally, you can start using the program using the commands shown below :
```
youtube-sm [OPTIONS]
```

## Commands

```
-h Print this help text and exit
-n [file] Use an other xml file for your subscriptions
-m [mode] Choose the type of the output (html, raw, list)
-t [nb of days] Choose how far in the past do you want the program to look for videos
-d Show the dead channels + those who posted no videos
-o [nb of months] Show the channels who didn't post videos in [nb of months] + dead channels
-l [id] Analyze only one channel or playlist
-r Remove the cache
-s [id/all] Outputs the stats of the selected channel(s)
-a [id] Append a channel or a playlist at the end of sub.
--init [file] Remove all your subs and the cache and init with your subscription file.
--af [file] Append a file with list of channel or a playlist in sub.swy
--ax [file] Append a xml file in sub.swy
--html Recover yours subs in the common page web (more videos)
--output [file] Choose the name of the output file
--cat View your subscriptions
--css Import the css files
--loading Prints a progress bar while running
```

## Type of File
- raw :
```
{date} {video_id} {channel_id} {title} {channel} {link_pic}
```
- list :
```
https://www.youtube.com/watch?v={video_id}
```
- html :
```
<!--NEXT -->
<div class="video">
<a class="left" href="https://www.youtube.com/watch?v={video_id}"> <img src="{link_pic}" ></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: `/home/<name>/.cache/youtube_sm/.`.

## HTML & RSS
With youtube-sm you can recover your subscriptions using two methods:
- RSS (default): videos are recovered through an XML page.
- HTML (with --html): videos are recovered through an HTML page.


They are two choice because they cannot recover the same informations and don't require the same amount of time.
So the default method (the RSS method) is more adapted to recover only the newest videos, whereas the HTML method
is more adapted to recover all the videos of a playlist or to recover its last 30 videos of a channel.

| | *HTML* | *HTML* | *RSS* |
|:----------:|:-----------:|:------------:|:------------:|
| | **Channel** | **Playlist** | **Both** |
| Execution | slow | slow | Fast |
| Number | 30 videos | 100 videos | 15 videos |
| Date | **~** | ✖ | ✔ |
| Like Rate | ✖ | ✖ | ✔ |
| Views | ✔ | ✖ | ✔ |

## Requirements
- Python 3

## Compatible
- Linux
- Windows
- Android (Termux)
- MacOS (I don't know)

## Screenshots
<p><img src="./screenshot/index.jpg" alt="Phone screen" width=405px height=720px></p>
<p><img src="./screenshot/index_pc.jpg" alt="PC screen" width=100% height=auto></p>

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-1.1.2.tar.gz (12.4 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: youtube_sm-1.1.2.tar.gz
  • Upload date:
  • Size: 12.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for youtube_sm-1.1.2.tar.gz
Algorithm Hash digest
SHA256 64b6496fff6a85089edca02df7fff0195e05f1aaafcabb89d72e7e675956b7dc
MD5 824ff4097c7792d1d959348a2781fd3e
BLAKE2b-256 4c40a18ee81d330086e77d6b79f58285f8d709e5ac203357d2bd77202a628863

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