|
From: | claudio |
Subject: | Re: [zdl-devel] rifatta l'estensione per youtube |
Date: | Sat, 26 Apr 2014 19:28:39 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 |
#!/bin/bash decode() { to_decode='s:%([0-9A-Fa-f][0-9A-Fa-f]):\\x\1:g'printf "%b" `echo $1 | sed 's:&:\n:g' | grep "^$2" | cut -f2 -d'=' | sed -r $to_decode`
}data=`wget http://www.youtube.com/get_video_info?video_id=$1\&hl=pt_BR -q -O-` url_encoded_fmt_stream_map=` decode $data 'url_encoded_fmt_stream_map' | cut -f1 -d','`
signature=` decode $url_encoded_fmt_stream_map 'sig'` url=`decode $url_encoded_fmt_stream_map 'url'` test $2 && name=$2 || name=`decode $data 'title' | sed 's:+: :g;s:/:-:g'` test "$name" = "-" && name=/dev/stdout || name="$name.mp4" wget "${url}&signature=${signature}" -O "$name" Bisogna passargli l'ID del video (yt_downloader.sh kJfeLkw7-ck). E' compatto e funziona alla grande. Il 23/04/2014 19:20, Gianluca Zoni ha scritto:
da qualche mese l'estensione youtube.sh mi dava grossi problemi nell'estrarre i dati corretti per l'url del file. Ho congelato "youtube.sh" nella directory "extensions/frozen" e rifatto da zero "yt.sh". Quest'ultima versione è più rozza e semplice della prima: non estrae i dati eliminando quelli non necessari e i duplicati, piuttosto individua il segmento di caratteri che forma l'url del file in formato mp4 (decodificando l'url con la funzione interna "urldecode" di zdl), utilizzando tutto ciò che trova nella sequenza. Per ora sembra funzionare bene. Probabilmente, youtube.sh era troppo "fine" per non esserlo abbastanza: estraeva i dati, ma non era in grado di distinguerli correttamente da quelli di altri formati... ed è possibile che sia cambiato qualcosa nel codice delle pagine di youtube
-- address@hidden
[Prev in Thread] | Current Thread | [Next in Thread] |