Documentos de Académico
Documentos de Profesional
Documentos de Cultura
02 Ejercicios Python Res
02 Ejercicios Python Res
Dirección General de Servicios de Cómputo Académico
Dirección de Cómputo para la Docencia
Categoría: Ejercicios
El objetivo de este ejercicio es determinar en qué posición rankea una palabra clave en
Google para un dominio determinado.
Cuando realizas una búsqueda en Google para una serie de palabras clave, Google te
muestra un listado de sitios web para los que esas palabras clave son relevantes.
Por ejemplo, la palabra Python para el dominio python.org rankea en la primera posición.
Por tanto, este ejercicio consiste en automatizar el proceso de encontrar la posición en que
rankea una palabra clave en Google.
Requisitos
Librerías a instalar
Solución al Ejercicio #2
Función comprueba_keywords()
El truco del ejercicio está en hacer una petición GET con la librería requests a la URL
https://www.google.com/search?q=una_keyword&start=0 y guardar la página
devuelta en un fichero. Una vez guardado el fichero, hay que abrirlo y analizar los
diferentes componentes HTML que conforman la página de resultados de Google.
De entre todos ellos, los resultados de búsqueda son aquellos contenidos en un bloque div
cuyas clases son ZINbbc xpd O9g5cc uUPGi. Este bloque div, contiene a su vez otro
bloque div que incluye un enlace. Si el atributo href del enlace contiene el dominio por el
que estamos buscando, entonces ya se puede calcular la posición en la que rankean las
palabras clave para ese dominio contando el número de bloques div hasta llegar a este en
concreto.
Observa que si no se ha encontrado el dominio para una página de resultados, hay que verificar si
hay más páginas de resultados disponibles (es posible que Google limite las páginas de resultados
a 2 o 3). Para ello, hay que comprobar que existe un enlace con el atributo aria-
label="Página siguiente" en el bloque footer.
Para completar el ejercicio tan solo falta actualizar el menú de la aplicación del siguiente
modo:
Fíjate que he añadido la variable dominio al programa principal para que sea una variable de la
aplicación.