youtube-sm


Nameyoutube-sm JSON
Version 2024.6.19 PyPI version JSON
download
home_pagehttps://github.com/sawyerf/youtube-sm
SummaryYoutube subscription manager
upload_time2024-06-19 11:40:32
maintainerNone
docs_urlNone
authorSawyerf
requires_pythonNone
licenseMLP-2.0
keywords youtube subscription api manager html
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Youtube_subscription_manager

[![PyPI](http://img.shields.io/pypi/v/youtube-sm.svg)](http://pypi.python.org/pypi/youtube-sm/)
[![example](https://sawyerf.gitlab.io/youtube_sm/exampleshield.svg)](https://sawyerf.gitlab.io/youtube_sm/example.html)
[![docs](https://img.shields.io/static/v1?label=docs&message=master&color=brightgreen)](docs/Home.md)
[<img alt="Github" src="https://ionogy.github.io/kernel.css/GitHub-Mark.png" width="22px">](https://github.com/sawyerf/youtube-sm)
[![GitLab](https://sawyerf.gitlab.io/youtube_sm/gitlab.jpg)](https://gitlab.com/sawyerf/youtube-sm)

<p><img align='right' width=400px height=auto src='https://sawyerf.gitlab.io/youtube_sm/binome.jpg' /></p>

- [Description](#description)
- [Installation](#installation)
- [Usage](#usage)
- [Commands](#commands)
- [Support Platforms](#support-platforms)
- [Example](#example)
- [Type of File](#type-of-file)
- [Cache](#cache)
- [Requirements](#requirements)
- [Compatible](#compatible)
- [Screenshots](#screenshots)

*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)*](#support-platforms).

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](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

```
-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 :
```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 :
```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
<a href="https://sawyerf.gitlab.io/youtube_sm/example.html"><img src="https://sawyerf.gitlab.io/youtube_sm/sub_mob.jpg" alt="Phone screen" width=405px height=720px>
<img src="https://sawyerf.gitlab.io/youtube_sm/sub_pc.jpg" alt="PC screen" width=100% height=auto></a>

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/sawyerf/youtube-sm",
    "name": "youtube-sm",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "youtube subscription api manager html",
    "author": "Sawyerf",
    "author_email": "sawyer.flink@protonmail.ch",
    "download_url": "https://files.pythonhosted.org/packages/e5/1b/b8fb24bbfc9de8ffa696c45541779a341e2257c74fe50916a8bc7d51d0b0/youtube_sm-2024.6.19.tar.gz",
    "platform": null,
    "description": "# Youtube_subscription_manager\n\n[![PyPI](http://img.shields.io/pypi/v/youtube-sm.svg)](http://pypi.python.org/pypi/youtube-sm/)\n[![example](https://sawyerf.gitlab.io/youtube_sm/exampleshield.svg)](https://sawyerf.gitlab.io/youtube_sm/example.html)\n[![docs](https://img.shields.io/static/v1?label=docs&message=master&color=brightgreen)](docs/Home.md)\n[<img alt=\"Github\" src=\"https://ionogy.github.io/kernel.css/GitHub-Mark.png\" width=\"22px\">](https://github.com/sawyerf/youtube-sm)\n[![GitLab](https://sawyerf.gitlab.io/youtube_sm/gitlab.jpg)](https://gitlab.com/sawyerf/youtube-sm)\n\n<p><img align='right' width=400px height=auto src='https://sawyerf.gitlab.io/youtube_sm/binome.jpg' /></p>\n\n- [Description](#description)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Commands](#commands)\n- [Support Platforms](#support-platforms)\n- [Example](#example)\n- [Type of File](#type-of-file)\n- [Cache](#cache)\n- [Requirements](#requirements)\n- [Compatible](#compatible)\n- [Screenshots](#screenshots)\n\n*If you have a problem, create an issue rather than sending me an email otherwise the response time will be longer, Thanks.*\n\n## Description\nYoutube_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)*](#support-platforms).\n\nIt 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.\n\n## Installation\n1. Clone the project: `git clone https://github.com/sawyerf/youtube-sm.git`\n2. Open the folder you just cloned : `cd youtube-sm`\n3. Execute the setup: `sudo python3 setup.py install`\n4. Recover your subscription file in youtube and you are ready to go !\n\n## Usage\n\n1. Download your subscriptions configuration from youtube.com ([here](https://www.youtube.com/subscription_manager?action_takeout=1))\n2. Once this is done, you may load it by using the following command :\n```\nyoutube-sm --init [file]\n```\n\n3. Finally, you can start using the program using the commands shown below :\n```\nyoutube-sm [OPTIONS]\n```\n\n## Commands\n\n```\n-a           URL       Add a sub to your sub list.\n-e                     Edit your sub list.\n-h                     Print this help text and exit.\n-l           URL       Analyze only one sub.\n-m           MODE      Choose the type of the output file (html, json, raw, list).\n-r                     Remove the cache.\n-t           DAYS      Select how many DAYS ago the last content written to your file will be dated .\n-v                     Verbose.\n--af         FILE      Add a list of sub to your sub list.\n--ax         FILE      Add a xml file in your sub list.\n--cat                  View your subscriptions.\n--css        STYLE     Export the css files (light, dark, switch).\n--dead                 Show the dead channels + those who posted no videos.\n--help                 Print this help text and exit.\n--html                 Recover sub with html page instead of RSS. This method recover more videos.\n--init       FILE      Remove all your subs and add new.\n--loading              Print a progress bar.\n--old                  Show channels who didn't post videos since DAYS.\n--output     FILE      Write the output in FILE.\n--version              Print version.\n--test                 \n```\n\n## Support Platforms\n- ~~Dailymotion~~\n- Evous Manifestation\n- Infoconcert\n- La Quadrature du Net\n- Peertube\n- Reddit\n- Revolution Permanente\n- Twitter\n- Youtube\n\n## Example\n\n- Basic\n```\nyoutube-sm\n```\n\n- Your sub since 1 month\n```\nyoutube-sm -t 30 --css --loading\n```\n\n- All the videos of a channel\n```\nyoutube-sm -l https://www.youtube.com/channel/UC-lHJZR3Gqxm24_Vd_AJ5Yw -t -1 -m list --loading -r --output test.csv\n```\n\n- Add a sub\n```\nyoutube-sm -a https://www.youtube.com/channel/UC-lHJZR3Gqxm24_Vd_AJ5Yw\n```\n\n## Type of File\n#### Raw :\n```\n{date}     {video_id}     {channel_id}     {title}     {channel}     {link_pic}\n```\n#### List :\n```\nhttps://www.youtube.com/watch?v={video_id}\n```\n#### View :\n```\n{views}\n```\n#### Json :\n```json\n{\n\t\"url\": {\n\t\t\"content\": \"https://www.youtube.com/watch?v=ID\",\n\t\t\"image\": \"https://i.ytimg.com/vi/ID/mqdefault.jpg\",\n\t\t\"uploader\": \"https://youtube.com/channel/ID\"\n\t},\n\t\"date\": \"2020-04-23 16:08:22\",\n\t\"title\": \"Video Title\",\n\t\"uploader\": \"Channel\",\n\t\"views\": \"228283\"\n}\n```\n#### Html :\n```html\n<!--NEXT -->\n<div class=\"video\">\n\t<a class=\"left\" href=\"{video_id}\">\n\t\t<div class=\"container\">\n\t\t\t<img src=\"{link_pic}\">\n\t\t\t<div class=\"bottom-right\">{time}</div>\n\t\t</div>\n\t</a>\n\t<a href=\"https://www.youtube.com/watch?v={video_id}\"><h4>{title}</h4> </a>\n\t<a href=\"https://www.youtube.com/channel/{channel_id}\"> <p>{channel}</p> </a>\n\t<p>{date}</p>\n\t<p class=\"clear\"></p>\n</div>\n```\n\n## Cache\n3 files are generated by the program : `sub.swy`, `log` and `data/`.\n- `sub.swy` is a list of yours subscriptions.\n- `log` contains the script's time of execution.\n- `data/` is a folder where the information for every video are stored.\n\nThese 3 files are generated in:\n- Windows: `C:\\Users\\<name>\\.youtube_sm\\`.\n- Linux/MacOS:   `/home/<name>/.cache/youtube_sm/.`.\n\n## Requirements\n- Python 3\n\n## Compatible\n- Linux\n- Windows\n- Android (Termux)\n- MacOS\n\n## Screenshots\n<a href=\"https://sawyerf.gitlab.io/youtube_sm/example.html\"><img src=\"https://sawyerf.gitlab.io/youtube_sm/sub_mob.jpg\" alt=\"Phone screen\" width=405px height=720px>\n<img src=\"https://sawyerf.gitlab.io/youtube_sm/sub_pc.jpg\" alt=\"PC screen\" width=100% height=auto></a>\n",
    "bugtrack_url": null,
    "license": "MLP-2.0",
    "summary": "Youtube subscription manager",
    "version": "2024.6.19",
    "project_urls": {
        "Homepage": "https://github.com/sawyerf/youtube-sm"
    },
    "split_keywords": [
        "youtube",
        "subscription",
        "api",
        "manager",
        "html"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "be522be2e2803abf3df3618480f0174b0ac0996058bba0538e613c9fa245bcda",
                "md5": "2f2fc8a2e56b5728f043f81344d33764",
                "sha256": "0beeb650e4b1913a705ed34f44c1e779ee7a03ddf08f59d8320445e3363fd3d2"
            },
            "downloads": -1,
            "filename": "youtube_sm-2024.6.19-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2f2fc8a2e56b5728f043f81344d33764",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 37384,
            "upload_time": "2024-06-19T11:40:27",
            "upload_time_iso_8601": "2024-06-19T11:40:27.202346Z",
            "url": "https://files.pythonhosted.org/packages/be/52/2be2e2803abf3df3618480f0174b0ac0996058bba0538e613c9fa245bcda/youtube_sm-2024.6.19-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e51bb8fb24bbfc9de8ffa696c45541779a341e2257c74fe50916a8bc7d51d0b0",
                "md5": "0c014f8a19557d0f58c6fe6df5c6bd28",
                "sha256": "f908e4a4079edd912de004026f96fd6580f7e67de477494ff8fa6b7240c4b47a"
            },
            "downloads": -1,
            "filename": "youtube_sm-2024.6.19.tar.gz",
            "has_sig": false,
            "md5_digest": "0c014f8a19557d0f58c6fe6df5c6bd28",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 29288,
            "upload_time": "2024-06-19T11:40:32",
            "upload_time_iso_8601": "2024-06-19T11:40:32.095302Z",
            "url": "https://files.pythonhosted.org/packages/e5/1b/b8fb24bbfc9de8ffa696c45541779a341e2257c74fe50916a8bc7d51d0b0/youtube_sm-2024.6.19.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-19 11:40:32",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "sawyerf",
    "github_project": "youtube-sm",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "youtube-sm"
}
        
Elapsed time: 0.54069s