MaDDoGo/metadata.filmaffinity.com — pull request #16 by agjacome (2011-12-02 12:31:12+00:00)
Title: Versión 1.4.4

Hay bastantes cambios, los más gordos están explicados en los commits, pero paso a detallar todo lo que he hecho aquí también.

### Mejorada la estructura del fichero filmaffinity.xml
A grandes rasgos: he añadido comentarios a lo largo del fichero, detallando más o menos que hace cada cosa, así cualquiera que quiera colaborar también con el scraper se enterará más fácilmente de cómo va todo; y he reducido muchas de las expresiones regulares que había, para hacerlas más simples.

### Reestructuración del parseo de resultados
Ya que estamos usando la búsqueda avanzada de FilmAffinity, y ésta no nos redirige automáticamente a la ficha de la película cuando hay un resultado exacto, sino que nos muestra _siempre_ la lista de resultados, no necesitamos seguir comprobando si nos ha redireccionado. Así que toda esta parte se ha reducido a una sola expresión que vaya recogiendo los resultados.

### Obtención correcta de las productoras
* Miniaturas de estudio NO activadas: tal como estaba hecho hasta ahora, se estaba recogiendo toda la lista de estudios (PRODUCTORAS en FA) y metiéndola en un solo tag ``. Simplemente he pasado a separar cada productora en su propio tag.
* Miniaturas de estudio activadas: he corregido el bug que hacía que las descargas de la primera productora no funcionasen cuando, tal como lo ordena filmaffinity, había un "Coproducción EEUU-Alemania-Canadá;" delante de la primera productora [\[ejemplo\]](http://www.filmaffinity.com/es/film543392.html). De nuevo algo simple, se trata sólo de cargarse esa parte si está presente.

### Obtención correcta de los guionistas
De nuevo, tal como sucedía con las productoras, se estaba descargando la lista completa de guionistas en un solo tag `', he pasado a separar cada guionista en un tag propio. Del mismo modo que ya se estaba haciendo con los directores.

Aquí las cosas se complican un poquito, no sólo porque FilmAffinity use criterios de separación según le venga en gana (a veces &, a veces una coma), sino por la existencia en el listado de guionistas de cosas como "(Novela: XXX)" [\[ejemplo\]](http://www.filmaffinity.com/es/film577699.html). En el primer commit que corregía esto, lo que hice fue eliminar los paréntesis y meter todo eso como un guionista más. Pero después, testeándolo, he visto que daba más problemas de los que en un principio suponía, debido a la existencia de películas con múltiples autores dentro de los paréntesis, ejemplo: "(Historia: Daniel Waters, Sam Hamm. Cómic: Bob Kane)" [\[ejemplo\]](http://www.filmaffinity.com/es/film331876.html), así que finalmente he optado por cargarme esas coletillas y dejar sólo como guionistas a los propiamente dichos.

### Añadido soporte funcional para Alpacine
Viendo que estaba abierta la [Issue#2](https://github.com/MaDDoGo/metadata.filmaffinity.com/issues/2), y que ya existía la opción para activar esta funcionalidad en resources/settings.xml, pero sin hacerse nada con ella, pues me he tomado la molestia de implementarlo.

La cosa es también bastante simple, he usado un GoogleToAlpacine similar al que se usa para las búsquedas en iMDb. Quizás sería mejor usar el buscador de Alpacine, pero por simplicidad lo he dejado esta vez así, y si hace falta ya se corregirá en futuras versiones.

Una vez obtenido el ID de Alpacine, nos vamos a la parte de carteles y podemos ver que las miniaturas de los carteles se diferencian de los carteles en alta resolución solamente por un "-100" [\[ejemplo\]](http://img.alpacine.com/carteles/0/455/45502-100.jpg) añadido al nombre. Así que lo que hacemos, desde la propia página de carteles, es recoger todas las miniaturas y borrarle el "-100" para obtener el póster grande [\[ejemplo\]](http://img.alpacine.com/carteles/0/455/45502.jpg).

El problema que da Alpacine es que su base de datos no es tan amplia como la de FilmAffinity, por tanto puede darse el caso de que en alguna película se descarguen miniaturas incorrectas. Siempre que estemos scrapeando una película para la que existan dos (o más) títulos muy similares el mismo año, y la deseada no se encuentre en Alpacine, pero sí en FA, nos toparemos con las carátulas de la otra. Esto es un error a revisar en próximas versiones.

-------------------------------------

Y eso es todo. Siento hacer tantos pulls en tan poco tiempo.