HTML node

Clase 11 de 34Curso Profesional de Ciencia de Datos 2019

Las web tienen una estructura interna en forma de árbol donde se van almacenando diferentes tipos de objetos:

01.png

De tal forma que podríamos definir una ruta por ejemplo para llegar a un elemento “li” de la imagen anterior:

html->body->nav->ul->li

Al igual que esta identificación mediante la posición dentro del árbol de la web los elementos están caracterizados también por clases CSS que definen la estética en clases que deben tener los elementos que lo contienen.

Un combinado entre la ruta html y la clase CSS de estilo que tiene un determinado elemento de la web es lo que nos permite definir el Selector asociado a un elemento de la web.

CSS permite la combinación de uno o más tipos de selectores para restringir el alcance de las reglas CSS.

la-liga22.png
https://www.laliga.es/jugador/aaron-escandell

En el siguiente selector:

#estadisticas-minutos > div > table > tbody > tr:nth-child(2) > td:nth-child(1) > span

Observamos que Rvest recorre la tabla con class “estadisticas_minutos” y hasta el valor deseado.

Para poder obtenerlo se le pasa este selector a la función html_node y se obtiene el campo. En ocasiones tendremos patrones de estructuras en común que queremos recopilar, para ello podemos buscar el identificador común en la hoja:

03.png

Los selectores anteriores corresponden a la información de dos jugadores que queremos recopilar en la misma web. Podríamos ir uno a uno pero imaginemos que tenemos muchos y queremos automatizar. En este caso podríamos utilizar el selector con la parte común a todos ellos (la parte verde) y descargarnos todos simultáneamente.