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
bing image downloader app used to download bulk images for a specific search term created using streamlit and bing_image_downloader python packages

bing image downloader app bing image downloader app is used to download bulk images for a specific search term. bing image downloader app gets the sea

Siva Prakash 8 Apr 05, 2022
Download history data from binance and save to dataframe or csv file

Binance history data downloader Download history data from binance and save to dataframe or csv file

10 Dec 02, 2022
Downloads files and folders

PyDownloader Downloads files and folders at high speed (based on your interent speed). This is very useful to transfer big files from one computer to

ArmenG 4 Feb 24, 2022
A toolkit to automatically crawl the paper list and download paper pdfs of ACL Ahthology.

ACL-Anthology-Crawler A toolkit to automatically crawl the paper list and download paper pdfs of ACL Anthology

Ray GG 9 Oct 09, 2022
Music, Album and Playlist downloader for JioSaavn

jiosaavn-dl Music, Album and Playlist downloader for JioSaavn Features Downloads tracks, albums and playlists in maximum available quality (320kbps AA

bunny 19 Dec 12, 2022
This is a tool to allow downloading any links from r/Roms Magethread

ILYFPR This is a tool to allow downloading any links from r/Roms Magethread Limitations: It downloads ALL roms of the system you choose. This will be

Erase 4 Nov 04, 2021
AI Dungeon Catalog Archive Toolkit

AI Dungeon Content Archive Toolkit (AID CAT) AID CAT is a command-line utility that will allow you to download JSON backups of: Your private and publi

Mimi 31 Oct 26, 2022
YouTube Video publisher using youtube-dl & ROS2🐢

YouTube-publisher-ROS2 Publish sensor_msgs/Image by "YouTube" 🤗 🤗 🤗 ! You don't have to use webcamera or your video to check demos. Purpose Quick d

Ar-Ray 5 Dec 04, 2022
A youtube downloader, built with flask yt-dlp

Built With Python Flask - The Python micro framework for building web applications. yt-dlp - A youtube-dl fork with additional features and fixes

Abhijith N T 13 Dec 17, 2022
Neon: an add-on for making it easier to handle component interactions

Neon Neon is an add-on for Lightbulb making it easier to handle component interactions. Installation pip install git+https://github.com/neonjonn/light

Neon Jonn 9 Apr 29, 2022
A simple GUI video downloader built off of the python module 'yt-dlp'

Simple-Youtube-DL-Gui Supported Operating Systems Windows 7 (x64), Windows 8 (x64), and Windows 10 (x64) How to use Main Gui Extract program from arch

12 Dec 30, 2022
A Python script that allows you to download all of an anime's episodes at once.

BitAnime A Python script that allows you to download all of an anime's episodes at once. · Download executable version · About BitAnime BitAnime is a

sh1nobu 17 Aug 10, 2022
A cross platform front-end GUI of the popular youtube-dl written in wxPython.

youtube-dlG A cross platform front-end GUI of the popular youtube-dl media downloader written in wxPython. Supported sites Screenshots Requirements Py

8.7k Dec 31, 2022
MMDL (Mega Music Downloader) - A tool to easily download music.

mmdl - Mega Music Downloader What is mmdl ❓ TLDR: MMDL is a cli app which allows you to quickly and efficiently download one or multiple songs from Yo

techboy-coder 30 Dec 13, 2022
A downloader for Cave Story written in Python

Cave Story Downloader This is a downloader for Cave Story written in Python. Thi

Imsad2 2 Feb 16, 2022
nextdl - download videos from youtube.com or other video platforms

nextdl - download videos from youtube.com or other video platforms

3 Feb 02, 2022
A cross-platform python based utility to download courses from udemy for personal offline use.

udemy-dl A cross-platform python based utility to download courses from udemy for personal offline use. Warning Udemy has started to encrypt many of t

Nasir Khan 4.6k Dec 31, 2022
Script that allows to download portable installers of different versions Adobe software for macOS

What is this and for what This is a script that allows you to download portable installers of programs from Adobe for macOS with different versions. T

715 Jan 06, 2023
A prometheus exporter for torrent downloader like qbittorrent/transmission/deluge

downloader-exporter A prometheus exporter for qBitorrent/Transmission/Deluge. Get metrics from multiple servers and offers them in a prometheus format

Lei Shi 41 Nov 18, 2022
Download all games from a public Itch.io Game Jam

Itch Jam Downloader Downloads all games from a public Itch.io Game Jam. What you'll need: Python 3.8+ pip install -r requirements.txt For site mirrori

Dragoon Aethis 19 Dec 07, 2022