sábado, 29 de septiembre de 2007

Cómo bajarse las fotos más votadas de NETLOG?

El siguiente script es una aplicación casi directa directa del que publiqué hace unos días para bajarse de golpe todas las fotos de un mismo usuario. En este caso, en vez de bajarnos todas las fotos de un único usuario, el objetivo es descargarse las fotos más votadas por los usuarios de la red social NETLOG.

Qué hace?

El programa realiza una búsqueda entre las fotos más votadas de NETLOG según los criterios que se hayan introducido en los argumentos (ver sección correspondiente). Analiza las miniaturas que haya en tantas páginas como le diga el usuario y descarga las fotografías al tamaño y calidad máxima que permite NETLOG en una carpeta cuyo nombre está relacionado con los parámetros de la búsqueda.

Requisitos:
  • Sistema Operativo: Linux (testado en Ubuntu 7.04).

Código (mfnl.sh):

#!/bin/sh
#
#NOMBRE: mfnl.sh; (m)ejores (f)otos de (n)et(l)og.
#
#VERSION: 2.0 (30 de Septiembre de 2007)
#
#DESCRIPCION:
#
#Este script pretende bajar las primeras fotos más votadas del NETLOG (http://www.netlog.com).
#
# REALIZADO POR ASTAROTH (http://astarothsworld.blogspot.com)
#
#SCRIPT
#
#Solicitamos los datos de entrada:
echo "Codigo del Pais: (p.e. España = ES, Todos los paises = -1)"
read P
echo "Tabla de Códigos de Comunidades Autónomas Españolas"
echo "Andalucía ......................... 51 Extremadura ..................... 57"
echo "Aragón ............................ 52 Galicia ......................... 58"
echo "Asturias .......................... 34 Islas Baleares .................. 07"
echo "Canarias .......................... 53 La Rioja ........................ 27"
echo "Cantabria ......................... 39 Madrid .......................... 29"
echo "Castilla y León ................... 55 Murcia .......................... 31"
echo "Castilla La Mancha ................ 54 Navarra ......................... 32"
echo "Cataluña .......................... 56 País Vasco ...................... 59"
echo "Comunidad Valenciana .............. 60"
echo "Codigo de la region: (p.e. Madrid = 29, no introduzca nada para todas las regiones)"
read R
echo "Genero: (MALE/FEMALE/BOTH)"
read G
echo "Edad Minima:"
read a
echo "Edad Maxima:"
read A
echo "Cuantas paginas quiere descargar? (48 fotos/pagina)"
read Pag
mkdir $R\_$G\_$a\_$A\_$Pag
cd $R\_$G\_$a\_$A\_$Pag
for i in $(seq $Pag); do
echo "Descargando fotos de la pagina $i..."
wget http://es.netlog.com/go/profiles/view\=photosTopRated\&country\=$P\&region\=$R\&gender\=$G\&minimumAge\=$a\&maximumAge\=$A\&ageType\=CUSTOM\&page\=$i
mv view\=photosTopRated\&country\=$P\&region\=$R\&gender\=$G\&minimumAge\=$a\&maximumAge\=$A\&ageType\=CUSTOM\&page\=$i $i.html
echo "Hecho!"
echo "Buscando miniaturas..."
grep --only-matching 'http://es.static.netlog.com//p/tt/***/***/*******.*pg' $i.html > m
echo "Hecho!"
echo "Convirtiendo miniaturas a mayores dimensiones..."
sed -e 's/\/tt\//\/oo\//g' m > Direcciones
echo "Hecho!"
echo "Descargando todas las fotos..."
wget -i Direcciones
echo "Hecho!"
echo "Borrando copias de seguridad..."
rm $i.html
rm m
rm Direcciones
done



Cómo se utiliza?

Lo único que debemos hacer es copiar el código anterior en un archivo de texto (en el ejemplo lo hemos llamado mfnl.sh) y colocar ese archivo donde queramos bajarnos las fotos (también se puede descargar el programa de aquí). Después bastará con ejecutarlo (sh + Nombre del archivo) y seguir las sencillas instrucciones que da el programa. Ver ejemplo siguiente:

(Pinchar sobre la imagen para agrandarla)


Argumentos:

Al ejecutar el programa, el código solicita los siguientes datos:
  • Código del País: NETLOG ESPAÑA sólo deja elegir entre España (ES) o Todos los paises (-1). Es posible que funcione introduciendo otros códigos de paises (aún no se ha testado).
  • Código de la Región: En caso de España, es el código de la comunidad autónoma (ver tabla adjunta). Si no se introduce nada, busca en todas. No tiene sentido seleccionar región si no se ha seleccionado país (opción "-1" en el primer apartado).
  • Género: Acepta MALE para chicos, FEMALE para chicas y BOTH para ambos sexos.
  • Edad Mínima/Máxima: Rango de edades en el que queremos hacer la búsqueda (evidentemente, la edad máxima ha de ser mayor que la mínima).
  • Páginas que queremos descargar: Cada página de las fotos más votadas de NETLOG contiene 48 imágenes. Este parámetro determina cuántas imágenes (desde la más votada a la menos votada) queremos bajanos (el nº de imágenes será menor o igual que 48 imágenes/página por el número de páginas seleccionado).

Páginas Restringidas:

Para este script es indiferente si un usuario tiene su página restringida o no. Si su foto aparece como una de las más votadas, esta es descargada a tamaño grande como las demás.


Tabla de Comunidades Autónomas de España:

Andalucía ......................... 51; Extremadura ..................... 57
Aragón .............................. 52; Galicia ................................ 58
Asturias ............................ 34; Islas Baleares .................... 07
Canarias ............................ 53; La Rioja .............................. 27
Cantabria .......................... 39; Madrid ............................... 29
Castilla y León ................. 55 ; Murcia ................................ 31
Castilla La Mancha .......... 54 ; Navarra .............................. 32
Cataluña ............................ 56 ; País Vasco .......................... 59
Comunidad Valenciana ... 60

Versiones

A continuación, se dará información sobre las novedades que incluyen las distintas versiones que se saquen del código. En ésta entrada aparecerá siempre la última versión. Esta información podría ser útil a quien se haya bajado una versión anterior, y así conocer en qué se diferencia de la siguiente.
  • Versión 2.0 (30 de Septiembre de 2007): Los códigos de comunidad aparecen en pantalla a la hora de tener que introducirlos, no teniendo que mirar ya la tabla esta entrada o el código del programa para conocerlos.

No hay comentarios:

Publicar un comentario

Querido astarothista!,

Si te ha gustado la entrada y quieres dejar constancia de ello, tienes alguna sugerencia para completarla o corregirla, quieres mostrar tu opinión respecto a algo de lo que se haya hablado en esta entrada (con respeto) o simplemente quieres dejarme un mensaje a mi o a la comunidad, no dudes en comentar ;)!

Recuerda que también estamos en Facebook y en Google+.