Com bé diu el títol de l'post, aquest forma de baixar vídeos de youtube no és de les millors, sinó que es tracta d'una forma d'aprendre com funciona els programes per aquest cap com els que hem vist aquí (youtube-dl, que per cert tenen moltes possibilitats i és excel·lent, el recomano).
El mètode consisteix a utilitzar comandaments comuns de GNU / Linux per a aquesta finalitat, com ho són ris i moltes utilitats de colpejar y pitó que poden servir per realitzar scripts. Cal destacar que el mètode no és automàtic sinó, requereix que l'usuari intervingui.
Primer, vam localitzar un vídeo per fer la «prova».
Després obtenim el contingut de la pàgina per mitjà d'un script que ho guardem i ho executarem de la següent manera:
"nombre del script" "url de youtube"
Exemple:
./script_url https://www.youtube.com/watch?v=1r-bWx3WZfQ
#!/bin/bash
ip=$(curl ifconfig.me)
for ((i=0;i<=10;i++))
do
curl -s $1 | grep "r$i---" | grep "expire" | grep "$ip" | grep "http" | grep "ratebypass" | grep "itag"
done
Descripció de l'script:
S'estableix una variable per la ip que es farà servir aviat, seguit es comença un bucle per provar diferents nombres en la variable «$ i», després la següent línia és per obtenir el contingut i els filtres de paraules per «facilitar» la localització de l' enllaç que ens interessa.
Quan executem l'script anterior ens retorna una sortida així:
Bé, pensaran que això no té sentit, però en realitat és més fàcil del que sembla. De la sortida que van obtenir, busquem, seleccionem i copiem un suposat enllaç que s'amaga en el contingut, en general té aquesta forma:
http%3A%2F%2Fr2---sn-j5caxvoq5-2ute.googlevideo.com%2Fvideoplayback%3Fitag%3D5%26sver%3D3%26source%3Dyoutube%26mv%3Dm%26id%3Dd6bf9b5b1dd665f4%26ip%3D190.XXX.XX.XX%26key%3Dyt5%26upn%3DOPyez7xDXx0%26expire%3D1394709761%26sparams%3Did%252Cip%252Cipbits%252Citag%252Csource%252Cupn%252Cexpire%26ms%3Dau%26fexp%3D935640%252C927904%252C932250%252C910207%252C927860%252C916611%252C937417%252C913434%252C936910%252C936913%252C902907%252C934022%26mt%3D1394685288%26signature%3D0A96F682936F3E20015E95DC15AC3D291372CDD5.BF5B9EFF421155747A2267148C8F35B018D4A689%26ipbits%3D0
En realitat es tracta de molts enllaços així, però no tots funcionen. Pot ser una mica complicat buscar-ho, així que per a aquest treball hem de trobar les paraules http, ipbits, UPN, signatura i que acabin amb diversos caràcters i nombres de la forma BF5B9EFF421155747A2267148C8F35B018D4A689; ja amb aquests objectes en el supòsit enllaç, el copiem.
Cal notar que moltes vegades l'enllaç pot ser erroni, almenys en el meu cas vaig haver de fer-ho amb 3 enllaços diferents, però, funciona.
Aquest codi que copiem es tracta en realitat d'una direcció a un recurs (que en aquest cas és el vídeo), però, està escrita en forma de caràcters perquè els faci servir el llenguatge HTML, com ara els números que comencen amb el signe de percentatge (%).
Com el que volem és una direcció que «llegible» tipus «http: //», hem de convertir aquests codis en caràcters, de manera que ho farem amb un script fet en python:
#!/usr/bin/python
def parse_conv(dvar):
df=""
count=0
global chain
chain=""
for dc in dvar:
if dc=="%" and count==0:
count=1
elif count==1 or count==2:
df=df+dc
if count==1:
count=2
else:
count=0
chf=chr(int(df,16))
chain+=chf
df=""
else:
chain+=dc
dvar=input("Código a convertir: ")
parse_conv(dvar)
parse_conv(chain)
print(chain)
Igual que amb l'altre script, el guarden i l'executen. Les apareixerà una cosa així, just allà li peguen la direcció anterior i li donen enter; els apareixerà una adreça tipus «http: //»:
Amb això utilitzarem wget per descarregar el vídeo, de la següent manera:
wget -c "http://r2---sn-j5caxvoq5-2ute.googlevideo.com/videoplayback?itag=5&sver=3&source=youtube&mv=m&id=d6bf9b5b1dd665f4&ip=190.XXX.XX.XX&key=yt5&upn=OPyez7xDXx0&expire=1394709761&sparams=id,ip,ipbits,itag,source,upn,expire&ms=au&fexp=935640,927904,932250,910207,927860,916611,937417,913434,936910,936913,902907,934022&mt=1394685288&signature=0A96F682936F3E20015E95DC15AC3D291372CDD5.BF5B9EFF421155747A2267148C8F35B018D4A689&ipbits=0"
Esperem que acabi i tindrem el nostre vídeo descarregat de youtube amb un nom força estrany:
El renombramos i veiem que és el mateix vídeo que el de l'enllaç, per tant, ja vam comprovar que és una forma díficil però útil si es desitja saber com funciona aquest tipus de programes.
Espero que els ajudi.
Bon post, jo prefereixo un mètode mes simple busco el vídeo en el navegador i el reprodueixo després a la terminal:
#lsof | grep Flash
després copio el procés i em dóna el flv
cp / proc / xxxxx / fd / xx /ruta/a/guardar.flv
no em va servir, em surt plugin-co 25074 em mem, aquest mem hauria de ser un file descriptor.
de totes formes usant du -hL / proc / 25074 / fd / * cap té la mida per ser un vídeo de Youtube, algú sabra perquè no surt el FD?
Jo des de fa mitja dècada ús JDownloader per descarregar milers de vídeos i pel·lícules mentre estudi. És clar que per als que prefereixen usar la terminal no és una eina vàlida, a més de no ser la més lleugera (requereix uns 100 mb de ram amb tot i sistema).
No és del millor, però hi ha una extensió per Firefox anomenada Easy Youtube Video Downloader Express ...
Deixo la lliga: https://addons.mozilla.org/es/firefox/addon/easy-youtube-video-download/
A mi ja em va treure d'una dificultat ... Salutacions des de Mèxic
a mi sempre em a agradat «parsejar» les pàgines web, és indiscutible que aquest coneixement parsejar (webs) + linux permet imaginar petits scripts que fan coses poderoses 😀 (bot amb fins no malisiosos)
a la meva web vaig pujar aquest petit script en php que «només mostra» la contrasenya vpn gratuïta de «vpnbook» que canvia cada desert temps, el que espero fer després és que m'ho envii per mail al meu cel cada dia a les 7:XNUMX, o per sms mitjançant la pàgina de movistar (mitjançant un altre bot): d.
pàgina
http://rojosbar.com/AL/1.php
Codi
http://paste.desdelinux.net/4940
també poden córrer l'script des del seu ordinador amb la comanda
php SCRIPT.php
on SCRIPT.php representa el nom de l'arxiu amb el codi php
-----
un altre script (molt verd) que realitzi per baixar «pàgines de revistes» de ISSUU i guardar-les en PDF (per que la versió flash que mostren en la seva web no m'agrada)
Veure el vídeo de l'script php en execució
https://www.youtube.com/watch?v=h82r41UOWLQ
el codi
http://paste.desdelinux.net/4941
youtube-dl [vídeo]
perquè més? simple i eficaç 🙂
Però et felicito per l'esforç
jo faig servir JDownloader
Aquí deixo el script en python novament, perquè em vaig adonar que el que vaig posar no té tabulacions.
http://paste.desdelinux.net/4942
Una forma més fàcil i sense programes.
1) Click dret en el vídeo.
2) Anar a «Inspeccionar element»
3) Situar-el el Tag Vídeo
4) Anar a la propietat SRC i copiar aquest link (si vols saltar-te els passos 5 i 6, simplement va a la consola i escriu wget i el link copiat)
5) Obre aquest link en una altra pestanya
6) Click dret -> Desa vídeo com ...> llest, a gaudir.
Un post genial, encara que em sembla que pot ser bastant confús per a l'audiència que ho pot aprofitar.
Ja en el post queda clar que hi ha millors formes de descarregar vídeos de Youtube. El que pretenen és mostrar les possibilitats de linux per obtenir dades d'una web.
Un petit exemple com a aportació:
rínxol -s http://rss.thepiratebay.se/101 | grep magnet | grep link | set -r «s /^.* (. +) $ / \ 1 / g» | while read line; do echo transmission-remote -a $ line; done
Treu de el feed rss de ThePirateBay tots els enllaços magnet de música, els últims 60, i mostra la comanda per afegir-los a transmission. si llevem «trobo» els afegeix directament, cura.
Es que es pot fer amb Flexget o similars, però no es tracta d'això, es tracta de determinar la informació que es vol treure de la web i buscar la manera d'aïllar-amb les eines que tenim a linux.
Espero no haver-me estès ni ficat massa.
I no seria més fàcil utilitzar Youtube-Dl?
Per descarregar vídeo:
Youtube-dl [URL de el vídeo]
Per descarregar únicament l'àudio:
youtube-dl -x -àudio-format mp3 [URL de el vídeo]
Bon post, que ens ajuda a comprendre millor.
Jo ús CLIPGRAB i si de consola es tracta ús el comado clive o cclive. No necessito cap script 🙂
La majoria són avorrits uu, si aquesta bé ja hi ha molts scripts i programari que compleixen amb la funció però al menys s'han preguntat com ho fan? uu ...
Bé aquesta forma no la coneixia, vaig a provar-la i no obstant això en la meva visita a youtube per la Developer tool he vist que tenen un api (REST crec) et dóna molta informació de el vídeo i ja de pas el link cap al cdn d'ell mateix.
Vaig a provar això ia continuar amb el meu script propi de descàrregues de el mateix amb alguna cosa fet i entès pel meu jeje. Salutacions i bon article