Como bien dice el título del post, este forma de bajar videos de youtube no es de las mejores, sino que se trata de una forma de aprender como funciona los programas para este fin como los que hemos visto aquí (youtube-dl, que por cierto tienen muchas posibilidades y es excelente, lo recomiendo).
El método consiste en usar comandos comunes de GNU/Linux para este fin, como lo son curl y muchas utilidades de bash y python que pueden servir para realizar scripts. Cabe destacar que el método no es automático sino, requiere de que el usuario intervenga.
Primero, localizamos un video para hacer la “prueba”.

Después obtenemos el contenido de la página por medio de un script que lo guardamos y lo ejecutaremos de la siguiente manera:
"nombre del script" "url de youtube"
Ejemplo:
./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ón del script:
Se establece una variable para la ip que se usará pronto, seguido se comienza un bucle para probar diferentes números en la variable “$i”, después la siguiente linea es para obtener el contenido y los filtros de palabras para “facilitar” la localización del enlace que nos interesa.
Cuando ejecutamos el script anterior nos devuelve una salida así:

Bueno, pensarán que esto no tiene sentido, pero en realidad es más fácil de lo que parece. De la salida que obtuvieron, buscamos, seleccionamos y copiamos un supuesto enlace que se esconde en el contenido, por lo general tiene esta 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 realidad se trata de muchos enlaces así, pero no todos funcionan. Puede ser un poco complicado buscarlo, así que para este trabajo debemos encontrar las palabras http, ipbits, upn, signature y que terminen con varios caracteres y números de la forma BF5B9EFF421155747A2267148C8F35B018D4A689; ya con estos objetos en el supuesto enlace, lo copiamos.
Hay que notar que muchas veces el enlace puede ser erróneo, por lo menos en mi caso tuve que hacerlo con 3 enlaces distintos, sin embargo, funciona.
Ese código que copiamos se trata en realidad de una dirección a un recurso (que en este caso es el video), sin embargo, está escrita en forma de caracteres para que los use el lenguaje HTML, como por ejemplo los números que comienzan con el signo de porcentaje (%).
Como lo que queremos es una dirección que “legible” tipo “http://”, debemos convertir esos códigos en carácteres, por lo que lo haremos con un script hecho 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 con el otro script, lo guardan y lo ejecutan. Les aparecerá algo así, justo allí le pegan la dirección anterior y le dan enter; les aparecerá una dirección tipo “http://”:

Con esto utilizaremos wget para descargar el video, de la siguiente 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"

Esperamos que termine y tendremos nuestro video descargado de youtube con un nombre bastante extraño:

Lo renombramos y vemos que es el mismo video que el del enlace, por tanto, ya comprobamos que es una forma díficil pero útil si se desea saber como funciona este tipo de programas.

Espero que les ayude.

Continúar leyendo...
El método consiste en usar comandos comunes de GNU/Linux para este fin, como lo son curl y muchas utilidades de bash y python que pueden servir para realizar scripts. Cabe destacar que el método no es automático sino, requiere de que el usuario intervenga.
Primero, localizamos un video para hacer la “prueba”.

Después obtenemos el contenido de la página por medio de un script que lo guardamos y lo ejecutaremos de la siguiente manera:
"nombre del script" "url de youtube"
Ejemplo:
./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ón del script:
Se establece una variable para la ip que se usará pronto, seguido se comienza un bucle para probar diferentes números en la variable “$i”, después la siguiente linea es para obtener el contenido y los filtros de palabras para “facilitar” la localización del enlace que nos interesa.
Cuando ejecutamos el script anterior nos devuelve una salida así:

Bueno, pensarán que esto no tiene sentido, pero en realidad es más fácil de lo que parece. De la salida que obtuvieron, buscamos, seleccionamos y copiamos un supuesto enlace que se esconde en el contenido, por lo general tiene esta 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 realidad se trata de muchos enlaces así, pero no todos funcionan. Puede ser un poco complicado buscarlo, así que para este trabajo debemos encontrar las palabras http, ipbits, upn, signature y que terminen con varios caracteres y números de la forma BF5B9EFF421155747A2267148C8F35B018D4A689; ya con estos objetos en el supuesto enlace, lo copiamos.
Hay que notar que muchas veces el enlace puede ser erróneo, por lo menos en mi caso tuve que hacerlo con 3 enlaces distintos, sin embargo, funciona.
Ese código que copiamos se trata en realidad de una dirección a un recurso (que en este caso es el video), sin embargo, está escrita en forma de caracteres para que los use el lenguaje HTML, como por ejemplo los números que comienzan con el signo de porcentaje (%).
Como lo que queremos es una dirección que “legible” tipo “http://”, debemos convertir esos códigos en carácteres, por lo que lo haremos con un script hecho 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 con el otro script, lo guardan y lo ejecutan. Les aparecerá algo así, justo allí le pegan la dirección anterior y le dan enter; les aparecerá una dirección tipo “http://”:

Con esto utilizaremos wget para descargar el video, de la siguiente 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"

Esperamos que termine y tendremos nuestro video descargado de youtube con un nombre bastante extraño:

Lo renombramos y vemos que es el mismo video que el del enlace, por tanto, ya comprobamos que es una forma díficil pero útil si se desea saber como funciona este tipo de programas.

Espero que les ayude.
Continúar leyendo...