Des commandes pour utiliser youtube - retour accueil
git clone git://bebou.netlib.re/ytcli
Log | Files | Refs | README |
commit d28dd6a4813773774fed7255a427f4c89fc50a2b parent 1670ab0f0f817b0a677aae1f4be6aee31bb25ffd Auterice: Arthur Pons <arthur.pons@unistra.fr> Date: Wed, 22 May 2024 22:41:01 +0200 Je sais pas trop pourquoi j'avais ces changements Diffstat:
A | README | | | 24 | ++++++++++++++++++++++++ |
M | ytgetvideos | | | 4 | ++-- |
2 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/README b/README @@ -0,0 +1,24 @@ +# Des scripts pour youtube + +## Attention ! + +C'est trèèèès instable, je fais n'imp J'ai commencé à écrire ça d'abord parce +que j'arrive plus à compiler le frontend youtube de codemadness sur ma machine. +Le jour où j'y arrive à nouveau je laisserai tomber ces scripts. + +## ytgetchannel + +Fait une recherche sur youtube prend la liste des chaînes des vidéos renvoyées +par la recherche et les affiche par ordre décroissant du nombre de vidéos. + +## ytaddsubscription + +Script perso utilisant ytgetchannel pour m'abonner à une chaîne. +Elle prend le premier résultat de ytgetchannel et l'ajoute à mon +sfeedrc + +## ytgetvideos + +Affiche la liste des vidéos d'une recherche donnée. +Dépend de jq, casse tout le temps. + diff --git a/ytgetvideos b/ytgetvideos @@ -1,13 +1,13 @@ #! /bin/sh request() { - encoded=$(echo "$@" | sed 's/ /+/g') + encoded=$(echo "$@" | sed 's/ /+/g;s/&//g' | tr -d '[]') curl -Ls "https://www.youtube.com/results?search_query=$encoded" } request "$@" | sed -n '21 p' | grep -Eo 'ytInitialData.*' | sed 's/^ytInitialData =//' | - jq | + jq 2>/dev/null | grep -E '^ {22}"videoId|^ {28}"label.+ de .+( |Aucune).+(il y a)? .+"' | paste - - | sed -E 's/.+videoId": "([^"]+)".+label": "(.+) de (.+) (.+).vues?( Diffusé)?( il y a [0-9]+ (jours?|semaines?|ans?|mois))? ([0-9].+)"/\1 \2 \3 \4 \6 \8/' 2> /dev/null