Code Monkey home page Code Monkey logo

youtube-sm's Introduction

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

youtube-sm's People

Contributors

cawmit avatar sawyerf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

youtube-sm's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.