Open Argaide opened 10 years ago
El crawler es un proyecto que coge la cartelera de los cines y la vuelca a una base de datos sql
La base de datos con la que ahora mismo interactúa se llama 's05ad7ee_laradb' y tiene las siguientes tablas
Yo ahora mismo estoy trabajando en localhost
No se trabaja con la base de datos directamente, si no que tiene una clase llamada BD.java que interactúa con la base de datos
Para rellenar las tablas de información tiene unas clases llamadas extractores. Los extractores se conectan a pag web y sacan la info. Hay extractores para laguiadelocio.com, madrid.salir.com y imdb extractor Supongo que nos quedaríamos solo con uno de ellos. El que estoy usando y parece que es el que más se usa en el proyecto es la del la guia del ocio ProcesadorCarteleraGDO.java
Casi todos los métodos de conexión con la clase base de datos BD.java tienen un booleano indicando si se quiere usar Tor o no. No se qué es exactamente tor, hay una clase ConecTor, quizás sea eso. Si lo pongo a true empiezan a salir un monton de errores en la traza. Me quedará algo por configurar
El proyecto tienen un montón de cosas de las que no necesitamos como la interfaz y creo que los distintos extractores. En cuanto a lo de las provincias tendríamos que hablar si dejarlo o no. Ahora no nos hace falta, pero quizás para trabajo futuro estaría bien dejar la funcionalidad ahí
Y hasta ahí donde he llegado por ahora Ahora mismo estoy intentando sacar las películas de Madrid. Para ello he creado una clase propia. PruebasFuncionamientoMarina.java No lo consigo del todo. Aunque no creo que sea difícil
Básicamente hay un atb con (conexión) que me da null. lo cual es lógico porque se pone a null explicitamente. Creo que me falta alguna llamada adicional.
Creo que he subido el código al repositorio, pero es la primera vez que subo un archivo nuevo al SVN y no estoy segura de que lo veáis bien. He subido las librerías también para que las podáis agregar
Tenía problemas con el crawler y Lara me respondió que no funcionaba. La verdad me sorprende que no lo mencionase antes, porque yo contaba con que funcionaba.
A partir de aquí se nos abren dos opciones, seguir son su crawler y hacer que funcione o buscarnos otra API para la cartelera.
Ahora mismo tengo una horilla y media antes de clase y me he puesto con la opción de hacer que funcione. Estoy avanzando y por ahora parece que hacer que funcione no será difícil.
He descubierto mejor como funciona. Básicamente se mete en la página web la guía del ocio y saca tooooodo el código html de la página a capón. A partir de ahí busca en las classes css que guardan la info que necesita.
Por ejemplo para coger las películas coge todo el código fuente html de la dir http://www.guiadelocio.com/madrid/cine/cartelera
A partir de ahí busca todo el trozo de código que esté encapsulado en la clase film-cell
y recibe una cosa como esta
<span><a href="/cine/archivo-peliculas/viaje-a-surtsey"> Viaje a Surtsey</a></span></td>, <td rowspan="2" valign="middle" class="film-cell">
Y así, poco a poco, saca toda la info de las películas. El Crawler no funciona porque han reformado la página web y la no buscaba por las direcciones y las clases que debería. Por ejemplo en el código que me pasó para sacar las películas tiene
http://www.guiadelocio.com//cartelera/madrid
pero ahora la dir es
http://www.guiadelocio.com/madrid/cine/cartelera
Como he dicho antes ahora estoy haciendo que su crawler funcione. Por ahora parece fácil pero no sé si me toparé con algún "muro" insalvable.
Yo propongo intentar hacer que el crawler funcione porque es lo que tenemos más a mano
Anotación rápida Ojalá se consiga que funcione bien. ¿No tenía opción de usar otras APIS? Por ejemplo, la de IMDB. Lo digo por si fuese más fácil que guiadelocio.com.
En cuanto a otras APIs el proyecto tiene otras clases extractoras aparte de procesadorCarteleraGDO.java
que es la que estoy usando.
Tiene procesadorCarteleraSalir.java
que usa salir.com
que no funciona. Supongo que por lo mismo. También está IMDBExtractor.java
que esta claro que se usó para algunas pruebas puesto que no tiene casi código dentro ni nada de lo que se necesitas.
Tablas que por ahora tengo en la base de datos y que relleno.
ID | Nombre |
---|
ID | Titulo | Anyo | Genero | Duracion | Calificacion | Nacionalidad | URL | URLCartel |
---|
IDPelicula | IDProvincia |
---|
IDPelicula | Director |
---|
IDPelicula | Actor |
---|
IDPelicula | Descripcion |
---|
IDCine | Nombre | Direccion | IDProvincia | URL | Latitud | Longitud |
---|
IDPelicula | IDCine | Hora | Dia | Mes | Observaciones |
---|
Esta issue es para comprender y hacer funcionar el crawler de películas que nos da la cartelera de en este momento.
Por ahora me centraré en ver cómo funciona y verlo funcionar si es que se puede.
Iré apuntando en esta issue los puntos importantes de cómo funciona que encuentre