Script for YouTube creators to share dislike count with their viewers.

Overview

Stahování disliků z YouTube - milafon

Tento skript slouží jako možnost zobrazit divákům počet disliků u YouTube videí. Vyžaduje implementaci ze strany tvůrce. Tato dokumentace popisuje detailně veškeré náležitosti potřebné k jeho spuštění.

Spuštění programu

Pro získání spustitelného programu naklonujte nebo stáhněte kořenovou složku tohoto projektu. Hlavní program se nalézá v souboru dislike.py.

Základními požadavky pro jeho spuštění jsou:

  • Instalace Python 3
  • Knihovny requests, json, sqlite3 a urllib

Další požadavky pro spuštění jsou sepsány dále.

Prerekvizity

Získání klíčů - Google Cloud

V první řadě si musíme na platformě Google Cloud obstarat následující klíče, které jsou potřeba pro chod programu.

  • API klíč pro YouTube API
  • Veřejný klíč klienta
  • Privátní klíč klienta
Založení projektu

Před tím než můžeme získat klíče k API, musíme si na platformě Google Cloud vytvořit nový projekt. To provedeme klinutím na seznam projektů vedle loga platformy.

Seznam projektů

Následovně v dialogovém okně můžeme vytvořit nový projekt kliknutím na tlačítko "nový projekt".

Vyskakovací okno projektů

To nás přivede na stránku, ve které můžeme zadat jeho název a klinout na tlačítko "vytvořit".

Vytvoření nového projektu

Přidání YouTube API do projektu

Pro tento krok nalezneme ve vyhledávání na platformě Google Cloud položku YouTube Data API v3. U té poté klikneme na tlačítko enable pro přidání tohoto API do našeho projektu.

Přidání API do projektu

Klíče

V navigaci Google Cloud se dostaneme do sekce Credentials, ve které se nalázejí právě klíče.

Navigace Google Cloud

Tam máme na vrchu stránky možnost přidat jak nový API klíč tak OAuth client ID, z čehož obojí budeme potřebovat. Pro vytvoření API klíče stačí pouze kliknutí a zobrazí se nám nový API klíč.

API klíč

Vytvoření OAuth client ID pro autorizaci však již vyžaduje určitou interakci. V první řadě musíme zvolit druh aplikace. Zde doporučuji kategorii Desktop app.

Vytvoření klíče klienta

Poté stačí jen dát tomuto klíči název a klinout na tlačítko vytvořit. Poté se nám zobrazí okno, ve kterém nalzeneme jak Veřejný klíč klienta - Client ID, tak privátní klíč klienta - Client Secret. Obě hodnoty si zkopírujte, protože je budeme potřebovat později.

Client ID

Přidání testovacího uživatele

Protože pracujeme s API YouTube, musíme náš účet spojený s YouTube kanálem, ke kterému chceme přistupovat, přidat mezi testovací uživatele projektu. Do této sekce se opět dostaneme pomocí postraní navigace v rámci Google Cloud kliknutím na položku OAuth consent screen. Zde pod kategorií Test users kliknutím na tlačítko Add users přidáme zvolený účet.

Přidání testovacího uživatele

Konfigurace aplikace

Po splnění všech prerekvizit můžeme do hlavního souboru programu dislike.py vložit získané klíče k patřičným konstantám.

API_KEY = "AIzaHJiT856h0qfR54..."
CLIENT_ID = "8345674-nmrtkdj..."
CLIENT_SECRET = "HKPFDR-dsgr..."

Přidání sledovaných videí

Úpravou databáze

Lokální databáze, kterou program využívá je typu SQLite. Lokálně ji můžeme upravit například přes utilitu SQLite Studio.

Pomocným programem

Pomocí programu helper.py lze dělat akce popsané následujícími argumenty:

  • List sledovaných videí -l nebo --list

    • Vypíše seznam sledovaných videí a akce, které se na nich provád. Navíc vypíše i část jejich konfigurace.
    > python .\helper.py --list
    Video ID        Action comment  Action title    Comment ID
    ================================================================
    s5brhEuhBhM     1               0               Ugzo5IzpwK
    A1CK3LaBPoU     0               1               None
  • Přidání sledovaného videa -a <videoID> nebo --add-video=<videoID>

    • Přidá nový záznam do tabulky sledovaných videí v databázi.
    • Příkaz dále funguje jako dialog, kdy se ptá, zda chcete na videu spustit jednotlivé akce a případně na jejich konfiguraci.
    > python .\helper.py -a 9gQCfFxOHYc
    Do comment action? [y/n]
    Insert comment ID:
    sdfgtdftztttRDfsEF
    Do title action? [y/n]
    Insert title format:
    Toto video dostalo %s disliků
    • Formát názvu videa je v běžném formátovacím tvaru, kdy pro místo, kde se má zobrazit počet disliků využijete zástupný znak %s
  • Odstranění sledovaného video -r <videoID> nebo --remove-video=<videoID>

    • Odstraní sledované video (řádek) z tabulky.
    > python .\helper.py --remove-video=9gQCfFxOHYc
Download all posts and comments in a subreddit

subreddit downloader This subreddit downloader downloads all posts and comments in a subreddit For a tutorial to use this program please follow this m

Guneet 6 Dec 16, 2022
The free and open-source Download Manager written in pure Python

The free and open-source Download Manager written in pure Python

pyLoad 2.7k Dec 31, 2022
Programmers-quest - Programmer's Quest! An open source MMO built on top of the Panda3D game engine and Astron server

Programmer's Quest! Programmer's Quest! The open source Python 3 2D MMORPG showc

Jordan Maxwell 5 Oct 07, 2022
ComicDownloader - Downloads Comics from readcomiconline.li

ComicDownloader Downloads Comics from readcomiconline.li To use this script from

2 Nov 08, 2022
Super S3 command line tool

s4cmd Super S3 command line tool Author: Chou-han Yang (@chouhanyang) Current Maintainers: Debodirno Chandra (@debodirno) | Naveen Vardhi (@rozuur) |

Bloomreach 1.2k Dec 27, 2022
Ripurei is a free-to-use osu! replay downloader, that can be configured to download from any osu! server.

Ripurei Ripurei is a fully functional osu! replay downloader, fully capable of downloading from almost any osu! server. Functionality Timeline ✔️ Able

Thomas 0 Feb 11, 2022
An automatic beatmapset downloader via txt file, suitable for tourney mappools.

Pooler Pooler is a bulk osu! mapset downloader, perfect for use with osu! Tournament Mappools. Prerequisites Python 3.10 Requests (pip install request

Thomas 0 Feb 11, 2022
A standalone pytube wrapper for downloading individual videos from YouTube.

pytube-runner This is a Python CLI script for downloading individual videos from YouTube. The pytube project is the core of this runner, so naturally

Shiva 2 Jun 21, 2022
Code for "Adversarial Motion Priors Make Good Substitutes for Complex Reward Functions"

Adversarial Motion Priors Make Good Substitutes for Complex Reward Functions Codebase for the "Adversarial Motion Priors Make Good Substitutes for Com

Alejandro Escontrela 54 Dec 13, 2022
Download YouTube videos/music and images in MP4, JPG with this tool.

ABOUT THE TOOL Download YouTube videos, music and images in MP4, JPG with this tool, with an easy to understand interface. This tool works with both,

TrollSkull 5 Jan 02, 2023
Can automatically download mods from a Curseforge modpack

Curseforge-Modpack-Downloader A Python script which automatically downloads mods from a Curseforge modpack. Installing Dependencies ⚠ Make sure you ha

Rayr 1 Sep 20, 2022
A growing collection of search plugins for the qBittorrent, an awesome and opensource torrent client

qBittorrent Search Plugins This is a still growing collection of search plugins for qBittorent, an amazing and open source torrent client, maintained

Alessio Tudisco 59 Dec 26, 2022
Write reproducible code for getting and processing ChEMBL

chembl_downloader Don't worry about downloading/extracting ChEMBL or versioning - just use chembl_downloader to write code that knows how to download

Charles Tapley Hoyt 34 Dec 25, 2022
A fast and small Torrent client made with Python 3.

pico-torrent A fast and small Torrent client made with Python 3. History and context It was programmed by a hacker known as Jazz_Man, around January o

Pindorama 9 Oct 04, 2022
Parallels Desktop dmg downloader

parallelsdesktop-dl Parallels Desktop dmg file downloader Usage usage: pd-dl [-h] [--dlv [DLV]] [-v] Parallels Desktop downloader optional arguments

2 Sep 13, 2022
A simple Python program which uses youtube-dl for downloading YouTube videos as mp3 files.

yt-mp3 converter This is a simple Python program which uses youtube-dl for downloading YouTube videos as mp3 files. This program is for you if you are

nostalgicnerdpenguin 1 Oct 24, 2021
squid-dl is a massively parallel yt-dlp-based YouTube downloader.

squid-dl squid-dl is a massively parallel yt-dlp-based YouTube downloader. Installation Run the setup.py, which will install squid-dl and its two depe

tuxlovesyou 51 Jan 05, 2023
A user-friendly GUI for the ZSpotify music downloader.

ZSpotifyGUI A user-friendly desktop app for ZSpotify music downloader for Windows, MacOs, and Linux Discord Server - Matrix Server - Gitea Mirror - Ma

94 Dec 17, 2022
Arxiv2Kindle is a simple script written in python that converts LaTeX source downloaded from Arxiv and recompiles it to better fit a Kindle or other similar reading devices.

Arxiv2Kindle is a simple script written in python that converts LaTeX source downloaded from Arxiv and recompiles it to better fit a read

Soumik Rakshit 8 Jul 09, 2022
Terminal based YouTube player and downloader

termitube NOTE: THIS REPOSITORY IS A FORK OF mps-youtube as mps-youtube has been unmaintained for almost a year now. Features Search and play audio/vi

Otis/Jacob Root 27 Dec 23, 2022