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
aurllib
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.
Následovně v dialogovém okně můžeme vytvořit nový projekt kliknutím na tlačítko "nový projekt".
To nás přivede na stránku, ve které můžeme zadat jeho název a klinout na tlačítko "vytvořit".
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.
Klíče
V navigaci Google Cloud se dostaneme do sekce Credentials, ve které se nalázejí právě klíče.
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íč.
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.
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.
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.
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