![]() |
PhotYG v0.7Obtiene álbumes de fotos desde grupos en Yahoo! Descripción
- Notas
|
PhotYG es un simple programa en lenguaje Perl que permite copiar uno o más álbumes de fotos almacenados en los grupos de discusión de Yahoo! alrededor del mundo. Actualmente sólo se soportan los sitios de habla hispana, inglesa y alemana.
El script aún no está disponible en línea,
pero puede ser solicitado para probarlo vía mail a:
(poner "PHOTYG" en el asunto).
Puede omitir algunos pasos si está seguro que ya está OK.
Para revisar si perl
está instalado,
correr en línea de comandos:
perl -v
Si obtiene un error o si la versión es inferior a 5.8.8, vaya al Directorio Perl para obtener un instalador reciente de la distribución apropiada para sus sistema.
En caso que no tenga instalado ningún intérprete de Perl, recomiendo la distribución de ActivePerl, que está disponible para Windows, Linux, Mac y otros sistemas populares. Posteriormente instale o actualice siguiendo las instrucciones respectivas.
Finalmente, revisar con el mismo comando que perl
fue instalado correctamente.
Es necesario verificar si están instalados los módulos a la versión requerida, usando los siguientes comandos:
perl -e "use Crypt::SSLeay 0.53 ; print q(OK)"
perl -e "use WWW::Mechanize 1.30 ; print q(OK)"
Si cualquiera de ellos retorna error en lugar de "OK
",
aquél deberá ser instalado o actualizado según
la distribución de Perl utilizada en su sistema.
En el caso de tener ActivePerl, en línea de comandos del sistema correr lo que corresponda:
ppm install http://trouchelle.com/ppm/WWW-Mechanize.ppd
ppm install http://theoryx5.uwinnipeg.ca/ppms/Crypt-SSLeay.ppd
En caso que se utilice otra distribución
de Perl, es necesario ir a las respectivas páginas de
Crypt-SSLeay y
WWW-Mechanize
para bajar los respectivos tarballs (*.tar.gz
)
e instalar de acuerdo a las instrucciones de cada uno
(usualmente son
las instrucciones generales
de CPAN).
Puede verificar que las instalaciones o actualizaciones de módulos hayan finalizado con éxito utilizando los comandos del comienzo de esta sección.
PhotYG no requiere ser instalado, basta extraer los scripts del tarball
en un directorio que aparezca en la variable de entorno "PATH
"
del sistema,
o bien extraerlos en la carpeta de trabajo en donde van a ser bajados
los álbumes de fotos.
Es posible que sea necesario editar la primera línea en los scripts
"*.pl
",
para hacer referencia a la ruta real del intérprete
perl
,
por ejemplo: "#!/usr/bin/perl
" (sin las comillas).
En línea de comandos, correr la siguiente instrucción:
photyg.pl [opción]... [url]...
Como resultado de una invocación,
en la carpeta actual se generará
un archivo "usuario.lwp
",
el cual contiene información necesaria para administrar la sessión
del usuario en el sitio de Yahoo!
También se generará una subcarpeta para cada grupo involucrado (por ejemplo: MiGrupo), en donde se almacenarán los respectivos álbumes copiados. Los álbumes de fotos en Yahoo! Photos tienen nombres de 4 letras y/o números asignados aleatoriamente por el servicio.
Si se ha utilizado la opción "-t
", se generará otro
archivo llamado "MiGrupo.toc
",
cuya utilidad se explica más adelante.
Las opciones pueden ser especificadas en cualquier orden. Aquellas marcadas con (o) son obligatorias.
-u
usuario-p
clave-h
proxyhttp://proxy:8080/
".
-l
-t
.toc
".
Este archivo puede ser procesado posteriormente con la herramienta
TOC2HTML
para generar una página índice con las descripciones
de los álbumes y sus fotos en cada grupo.
-v
-m
url
http://espanol.groups.yahoo.com/group/MiGrupo/
http://espanol.ph.groups.yahoo.com/group/MiGrupo/photos
http://espanol.ph.groups.yahoo.com/group/MiGrupo/photos/browse/1234
TOC2HTML es un pequeño utilitario (también escrito en Perl) que permite generar una página HTML a partir de una TOC (Tabla de Contenidos) generada o actualizada durante un proceso de copia de fotos de un grupo usando PhotYG.
El listado muestra el nombre y descripción del grupo, de cada álbum y de cada foto que se haya obtenido, incluyendo la fecha y el usuario de Yahoo! que la publicó.
Para utilizarlo, basta correr en la misma carpeta en donde se encuentra
el archivo "MiGrupo.toc
"
y su respectiva carpeta "MiGrupo",
la siguiente instrucción en la línea de comandos:
toc2html.pl
MiGrupo
El resultado de una invocación es:
.html
"
que contiene un listado de lo que ha sido informado en la TOC.
E-
MiGrupo.html
"
que contiene una lista similar, pero basado en lo que existe en disco
en ese momento.
Si se ha corrido PhotYG sin usar la opción "-t
",
las fotos recuperadas también serán incluidas,
pero sin descripción.
MiGrupo.toc
"
es regenerado, ordenando su contenido y eliminando las líneas demás.
La TOC original queda con el nombre
"
MiGrupo.toc.old
" y puede ser borrado.
Los archivos HTML pueden ser vistos utilizando cualquier navegador estándar.
En 1994 comencé a escribir un programa que permitiera bajar un conjunto
de páginas web en forma automática, para después verlas en localmente
usando lynx
o Mosaic.
De esta forma podía bajar, por ejemplo, los manuales de instalación
completos para el servidor HTTPD de NCSA (la base de Apache).
Al poco tiempo esta herramienta me permitió mantener réplicas actualizadas de servidores web completos. En esos años, el acceso a la web internacional desde redes chilenas era bastante lento y estos mirror eran bastante útiles para esos efectos.
En 1995 liberé en la red una versión beta del programa con el nombre WebCopy, y tuvo algunas mejoras los años siguientes, mientras la Internet seguía en pañales.
WebCopy también está escrito en lenguaje Perl, pero en su versión 4, sin utilizar las bibliotecas que hoy existen para la versión 5. Por lo tanto, a WebCopy lo desarrollé desde cero, implementando las conexiones TCP/IP usando el protocolo HTTP/0.9 y luego HTTP/1.0, la interpretación del HTML para identificar enlaces, la manipulación de los imágenes con zonas activas (imagemaps) y otras cosas de la época. Nunca implementé cosas como conexiones seguras (SSL ó HTTPS), el manejo de cookies ni la interpretación de javascript. Otras cosas como el acceso servidores virtuales las agregué posteriormente como parches o por sugerencias que distintas personas me hacían por correo.
Aún utilizo WebCopy para diversas cosas de mi vida laboral, retocando un poco el código para agregar funcionalidades específicas que una situación amerita.
Desde que administro algunos grupos de discusión en Yahoo!, he tenido interés en alguna herramienta que me permita copiar a mi PC las fotos que los otros integrantes hayan subido al respectivo grupo, sin tener que estar paseandome por cada álbum y haciendo un "guardar como..." a cada imagen, o bien recorriendo el caché local del navegador para identificar las imágenes y copiarlas a otra carpeta. Como no encontré ninguna herramienta gratuíta disponible en la red, obviamente pensé en modificar o extender las funcionalidades de WebCopy para esta tarea, pero llegó el momento de decir "¡¡¡BASTA!!!"
Mi búsqueda sí me permitió ver que ya habían algunos módulos disponibles para Perl que me facilitarían la tarea del desarrollo, y que era sólo cosa de ir adaptando un poco los mismos ejemplos publicados para armar un script que cumpliera mi deseo de bajar las fotos automáticamente.
La única restricción es que debía comenzar a aprender sobre la orientación a objetos que implementa la versión 5 de Perl. Pero los ejemplos eran tan simples que la construcción inicial sólo tomó par de días de ratos libres para quedar contento.
Después de algunas pruebas y sugerencias recibidas por correo, mi programita tomó forma, recibió un nombre y avanzó en número de versiones. Ahora lo dejo disponible para que otros puedan disfrutar de mi deseo :-)
La última versión de este programa fue desarrollada y probada usando ActivePerl 5.8.8.822 en WinXP.
Copyright (c) 2007 Victor Parada. Todos los derechos reservados.
Este programa se entrega SIN GARANTÍAS.
El autor no se hace responsable por el uso que se le dé a éste.
Este programa es software libre;
puede ser redistribuido o modificado bajo los mismos términos que Perl
(Artistic
y GPL).