Actualizado 26 de Julio de 2005
A la vista de que nadie se impresionó con los scripts para ajustar los subtítulos de las películas ni para renombrar canciones, voy a poner un ejemplo mucho más aplicado donde ser un power-user da todos sus frutos: bajarse porno.
Supongo que todos vosotros, pajilleros y onanistas experimentados, conoceréis montones de páginas en las que te puedes bajar videos guarros de muestra que duran un par de minutos. Alguno sabiamente dijo una vez "pues yo voy cambiando la dirección, me los bajo todos, y así tengo una película más o menos completa". Esa es la forma "manual" de hacerlo, pero claro, nosotros tendremos las manos ocupadas en otras cosas y no podemos permitirnos perder el tiempo con esas menudeces.
Aquí es cuando todos nos acordamos del anuncio ese de terraadeeseeleplús donde un chaval dice "y así podré estudiar el doble de rápido". Que no, niño, que no vas a engañar a tu viejo, con eso lo que quieres es hacerte las pajas en la mitad de tiempo. Pero claro, eso sólo sirve para eyaculadores precoces, que entre que se bajan un video y el siguiente ya se han corrido. Nosotros queremos más. Necesitamos montones de videos que se vayan bajando en tiempo real para poder hacernos nuestra buena paja (la imaginación ya pasó a mejor vida).
Para poder seguir este cursillo, necesitamos las siguientes herramientas: wget y python. Si usas linux, probablemente ya tengas instalado todo lo necesario (prueba a escribir en la consola los comandos wget y python respectivamente, a ver si sale algo)... si no los tienes, puedes usar tu gestor de paquetes favorito para instalarlos. Si estás en Windows, puedes usar cygwin o bien las versiones nativas... la instalación de python es realmente sencilla y no la voy a comentar, para wget puedes mirar en esta página:
http://gnuwin32.sourceforge.net/packages/wget.htm
Vamos al turrón... lo primero es localizar una página en la que haya videos de esos de demostración. En http://www.petardas.com tenemos un montón de enlaces útiles. Una vez que tenemos una, hay que inspeccionar las urls de los videos. Necesitamos que sigan algún patrón, si es numérico y fácil mejor que mejor.
Lo siguiente que haremos es programar un script que nos genere todas las direcciones de los videos, que utilizaremos para que wget los descarge por nosotros.
Veamos algunos ejemplos:
Creamos el script "genera.py":
base = "http://freempegs.aebn.net/anal_"
for i in range(1,46):
for j in range(1,6):
print base + str(i).zfill(4) + "_" + str(j) + ".mpg"
Lo ejecutamos, y redirigimos la salida a un fichero "lista.txt":
$ python genera.py > lista.txt
Ahora, le decimos a wget que nos baje todos los ficheros a los que hace referencia "lista.txt":
$ wget -i lista.txt
Et voi la! Tenemos un puñado de videos de chicas siendo sodomizadas por fornidos mozos.
Si toda esta perversión no te ha parecido suficiente, tenemos un ejemplo un poco más elaborado... ahora el problema radica en que hay varios archivos que se llaman igual, pero están en rutas distintas. La solución pasa por ejecutar wget indicándole también el nombre del archivo local donde se guardará lo que bajemos. Para ello, ahora el script no tendrá únicamente una lista de urls, sino el comando completo para invocar a wget:
El archivo "genera.py"
base = "http://hardcoremovieserver.com/galls/"
for i in range(151,200):
for j in range(1,4):
print "wget " + base + str(i).zfill(3) + "/" + str(j) + ".mpg -O " + str(i).zfill(3) + "_" + str(j) + ".mpg"
Ahora hay que currárselo un poquito más, y pasarle todo el resultado del programa al intérprete de comandos:
$ python genera.py | bash
Y hale, a ver qué sale... aquí tenemos otro problema añadido, y es que algunos de los ficheros que nos tanto nos gustaría bajar no existen, y en su lugar se baja el archivo "missing.html" (o similar), con el nombre que le tocase al fichero bueno. Para hacer una criba posterior, podemos filtrarlos por tamaño con un
$ du -sh * | sort
o con
$ file * | sort
¿Que también queremos deshacernos automáticamente de los que se hayan bajado y sean páginas web en lugar de vídeos? no problemo, podemos hacerlo con una sencilla línea de comandos:
$ file * | grep HTML | awk -F: '{print "rm " $1}' | bash
Sí, es la rehostia, lo sé...
En fin, todo eso para los que digan que Linux (o cualquier Unix) no tiene ventajas sobre Windows (al menos sin Cygwin hay muchas cosas que no se pueden hacer...).
Ah, y por último, si a alguno después de esta maravillosa lección de scripting le interesa ver los videos, puede usar el xine o el mplayer.
Actualización
Algo más sencillote, aunque no tan flexible, es usar el wget directamente con estas opciones:
$ wget --recursive --accept="*.mpg" http://www.hardcorepetites.net/a/24l/index67.html
Y se baja todos los videos de la página... normalmente no funciona bien a múltiples niveles porque los cabrones de los pornógrafos no tienen activado el listado de directorios...