Class Controlador
java.lang.Object
Controlador
Contiene todos los métodos funcionales
del programa
-
Field Summary
Modifier and TypeFieldDescription(package private) String
Contiene el nombre del directorio donde se guardan los ficheros XML y CSV de cada página que se busque(package private) Document
Sirve para contener la estructura del XML.Contiene todos los elementos Estudio sin identificador para tener la información de cada uno guardada y evitar entrar a páginas en las que ya ha entrado.private final DateTimeFormatter
Formato dia/mes/año para LocalDate.Contiene todos los elementos Género sin identificador para tener la información de cada uno guardada y evitar entrar a páginas en las que ya ha entrado.Contiene los enlaces de todos los estudios para evitar entrar a páginas en las que ya ha entrado.Contiene los enlaces de todos los géneros para evitar entrar a páginas en las que ya ha entrado.Contiene los enlaces de todas las series de la web.Un identificado numérico para mes.(package private) int
Si en el enlace hay más de 100 series se separa en páginas y entonces se usa esta variable.Contiene todos los elementos Serie con toda su información. -
Constructor Summary
ConstructorDescriptionEl constructor del controlador en el que se llama al método map_mes. -
Method Summary
Modifier and TypeMethodDescriptionint
Añade las series a la estructura del XMLprivate Node
afegeixEstudios
(List<Estudio> estudios) Guarda todos los estudios en una lista de nodos dentro del nodo estudios, en el que cada uno pertenece a un nodo estudio que contiene la información del estudio.private Node
afegeixGeneros
(List<Genero> generos) Guarda todos los géneros en una lista de nodos dentro del nodo géneros, en el que cada uno pertenece a un nodo género que contiene la información del género.void
afegeixNode
(Node pare, Node fill) Añade el nodo/elemento XML a la estructura.void
void
Crea el document que se escribirá en el XML.createNode
(String name, String content) Crea un nodo/elemento listo para ser añadido con la información recibida.int
Crea la raíz del XML.void
Género un CSV para cada clase que se almacena ordenados basándonos en el identificador que tienen todas las clases, que están relacionadas con la clase Serie.guardarEstudio
(org.openqa.selenium.WebDriver driver, List<String> links) Guarda toda la información de los estudios antes comprobando si el estudio ya se ha guardado con anterioridad para evitar volver a entrar en la página del estudio y recoge los datos de una lista que contiene todos los estudios, si el estudio no ha aparecido antes entonces si entra en su página guarda su información y lo guarda en dos lista, la que contiene todos los estudios y la que retorna.guardarGeneros
(org.openqa.selenium.WebDriver driver, List<String> links) Guarda toda la información de los géneros antes comprobando si el género ya se ha guardado con anterioridad para evitar volver a entrar en la página del género y recoge los datos de una lista que contiene todos los géneros, si el género no ha aparecido antes entonces si entra en su página guarda su información y lo guarda en dos lista, la que contiene todos los géneros y la que retorna.guardarLinksEstudios
(org.openqa.selenium.WebElement estudio) Guarda el enlace de los estudios que pertenecen a la serie y al mismo tiempo guarda todos los enlaces en una array para evitar volver a entrar en páginas en las que ya haya entrado.guardarLinksGeneros
(org.openqa.selenium.WebElement genero) Guarda el enlace de los géneros que pertenecen a la serie y al mismo tiempo guarda todos los enlaces en una array para evitar volver a entrar en páginas en las que ya haya entrado.void
guardarLinksSeries
(org.openqa.selenium.WebDriver driver) Guarda el enlace a cada serie de la página.void
guardarSeries
(org.openqa.selenium.WebDriver driver) Va guardando las series una por una y llama a los métodos necesarios para guardar otros datos.void
Llama a los métodos necesarios para guardar toda la información en el XML.void
Inicia el Gecko en la página especificada y llama a los métodos necesarios para realizar la tarea.void
map_mes()
Asigna un numero a cada mes.void
paginas
(org.openqa.selenium.WebDriver driver) Acepta las cookies y luego en base a las series que hay en el género los divide entre 100 y redondea hacia arriba para saber cuantas páginas hay.int
saveDOMAsFile
(File file) Guarda toda la estructura guardada en el XML con el formato correcto.void
sleep
(int milesegundos) Pone al programa en espera para dejar que los elementos de la Web carguen.
-
Field Details
-
linksSeries
Contiene los enlaces de todas las series de la web. -
linksEstudios
Contiene los enlaces de todos los estudios para evitar entrar a páginas en las que ya ha entrado. -
linksGeneros
Contiene los enlaces de todos los géneros para evitar entrar a páginas en las que ya ha entrado. -
series
Contiene todos los elementos Serie con toda su información. -
estudios
Contiene todos los elementos Estudio sin identificador para tener la información de cada uno guardada y evitar entrar a páginas en las que ya ha entrado. -
generos
Contiene todos los elementos Género sin identificador para tener la información de cada uno guardada y evitar entrar a páginas en las que ya ha entrado. -
map_mes
Un identificado numérico para mes. -
formatter
Formato dia/mes/año para LocalDate. -
document
Document documentSirve para contener la estructura del XML. -
pages
int pagesSi en el enlace hay más de 100 series se separa en páginas y entonces se usa esta variable. -
directorio
String directorioContiene el nombre del directorio donde se guardan los ficheros XML y CSV de cada página que se busque
-
-
Constructor Details
-
Controlador
public Controlador()El constructor del controlador en el que se llama al método map_mes.
-
-
Method Details
-
map_mes
public void map_mes()Asigna un numero a cada mes. -
sleep
public void sleep(int milesegundos) Pone al programa en espera para dejar que los elementos de la Web carguen. Se creó para ahorrar tiempo al escribir.- Parameters:
milesegundos
- Son los milisegundos que el programa esperara.
-
iniciarGecko
public void iniciarGecko()Inicia el Gecko en la página especificada y llama a los métodos necesarios para realizar la tarea. -
crearDirectorio
public void crearDirectorio() -
paginas
public void paginas(org.openqa.selenium.WebDriver driver) Acepta las cookies y luego en base a las series que hay en el género los divide entre 100 y redondea hacia arriba para saber cuantas páginas hay.- Parameters:
driver
- Contiene la página principal de la que se extrae información.
-
guardarLinksSeries
public void guardarLinksSeries(org.openqa.selenium.WebDriver driver) Guarda el enlace a cada serie de la página.- Parameters:
driver
- Es el elemento que permite entrar y navegar por la web, es necesario para que el método vea los elementos que contiene él enlaces.
-
guardarSeries
public void guardarSeries(org.openqa.selenium.WebDriver driver) Va guardando las series una por una y llama a los métodos necesarios para guardar otros datos.- Parameters:
driver
- Es el elemento que permite entrar y navegar por la web, es necesario para que el método vea los elementos que contienen los enlaces.
-
guardarLinksEstudios
Guarda el enlace de los estudios que pertenecen a la serie y al mismo tiempo guarda todos los enlaces en una array para evitar volver a entrar en páginas en las que ya haya entrado.- Parameters:
estudio
- Contiene los elementos donde se encuentra los enlaces de los estudios.- Returns:
- Devuelve la lista de enlaces de los estudios de la serie en especifica.
-
guardarLinksGeneros
Guarda el enlace de los géneros que pertenecen a la serie y al mismo tiempo guarda todos los enlaces en una array para evitar volver a entrar en páginas en las que ya haya entrado.- Parameters:
genero
- Contiene los elementos donde se encuentra los enlaces de los géneros.- Returns:
- Devuelve la lista de enlaces de los estudios de la serie en especifica.
-
guardarEstudio
Guarda toda la información de los estudios antes comprobando si el estudio ya se ha guardado con anterioridad para evitar volver a entrar en la página del estudio y recoge los datos de una lista que contiene todos los estudios, si el estudio no ha aparecido antes entonces si entra en su página guarda su información y lo guarda en dos lista, la que contiene todos los estudios y la que retorna.- Parameters:
driver
- Sirve para que vaya navegando entre los distintos estudios.links
- La lista que contiene todos los enlaces de los estudios de los cuales tiene que guardar información.- Returns:
- Devuelve una lista que contiene todos los estudios con su información correspondiente.
-
guardarGeneros
Guarda toda la información de los géneros antes comprobando si el género ya se ha guardado con anterioridad para evitar volver a entrar en la página del género y recoge los datos de una lista que contiene todos los géneros, si el género no ha aparecido antes entonces si entra en su página guarda su información y lo guarda en dos lista, la que contiene todos los géneros y la que retorna.- Parameters:
driver
- Sirve para que vaya navegando entre los distintos géneros.links
- La lista que contiene todos los enlaces de los géneros de los cuales tiene que guardar información.- Returns:
- Devuelve una lista que contiene todos los géneros con su información correspondiente.
-
guardarCSV
public void guardarCSV()Género un CSV para cada clase que se almacena ordenados basándonos en el identificador que tienen todas las clases, que están relacionadas con la clase Serie. -
guardarXML
Llama a los métodos necesarios para guardar toda la información en el XML.- Throws:
ParserConfigurationException
- Esta excepción es lanzada cuando ocurre un error durante la configuración de un parser de XML.
-
crearDocument
public void crearDocument()Crea el document que se escribirá en el XML. -
createNode
Crea un nodo/elemento listo para ser añadido con la información recibida.- Parameters:
name
- El nombre que tendrá el elemento/nodo XML.content
- Texto plano o información que ira dentro del elemento/nod XML.- Returns:
- Retorna un nodo/elemento XML listo para ser añadido.
-
afegeixNode
Añade el nodo/elemento XML a la estructura.- Parameters:
pare
- Elemento/nodo XML una capa superior a fill.fill
- Elemento/nodo XML que se encuentra dentro de padre.
-
addSerieToDOM
public int addSerieToDOM()Añade las series a la estructura del XML- Returns:
- Si retorna 0 es que se ha ejecutado correctamente, en cambio, si devuelve 1 es que ha surgido un error.
-
afegeixEstudios
Guarda todos los estudios en una lista de nodos dentro del nodo estudios, en el que cada uno pertenece a un nodo estudio que contiene la información del estudio.- Parameters:
estudios
- Es la lista de estudios de la serie a la que pertenece.- Returns:
- devuelve el nodo que contiene todos los estudios de la serie a la que pertenecen.
-
afegeixGeneros
Guarda todos los géneros en una lista de nodos dentro del nodo géneros, en el que cada uno pertenece a un nodo género que contiene la información del género.- Parameters:
generos
- Es la lista de géneros de la serie a la que pertenece.- Returns:
- devuelve el nodo que contiene todos los géneros de la serie a la que pertenecen.
-
saveDOMAsFile
Guarda toda la estructura guardada en el XML con el formato correcto.- Parameters:
file
- Fichero en el que se guarda el XML- Returns:
- Si retorna 0 es que se ha ejecutado correctamente, en cambio, si devuelve 1 es que ha surgido un error.
-
createRootNode
public int createRootNode()Crea la raíz del XML.- Returns:
- Si retorna 0 es que se ha ejecutado correctamente, en cambio, si devuelve 1 es que ha surgido un error.
-