Trabajo: Script BuscaBecas

De FdIwiki ELP
Saltar a: navegación, buscar

Introducción

Hemos realizado un proyecto al cual hemos bautizado como RastreGranTor es un script que recopila otros, los cuales se encargan de analizar y procesar datos de diferentes web, ya sean entidades bancarias, fondos comunes o universidades, etc... con el fin de recopilar becas para estudiantes de las universidades publicas.

La idea es que permita una desarrollo incremental mediante aportaciones de la comunidad. Existen páginas web que recopilan becas y las publican juntas, pero nos pareció interesante crear un proyecto colaborativo que permita actualizar en cualquier instante sin necesidad de depender de lo que terceros vayan publicando.

Objetivos

  • Crear un script base que recopile y muestre las becas.
    • Que permita la actualización automática.
    • Que permita la inclusión de nuevos scrapers.
    • Que permita la búsqueda discriminativa (si da tiempo).
  • Crear scrapers para recopilar la información de una web concreta.
  • Crear bot de Telegram/Twitter para el uso del script (si da tiempo).
  • Facilitar el acceso a estudiantes a información sobre becas que puedan solicitar.

Impacto Social

La mayor parte de los alumnos de la Universidad hemos tenido la necesidad o la intención de buscar becas que nos ayuden a cursar nuestros estudios, especialmente aquellos con intención de continuar su vida académica más allá del grado, debido a la importante cuantía de la matrícula en estos estudios de posgrado.

Como es sabido, el haber dispuesto de alguna beca en el pasado, es de gran ayuda a la hora de conseguir posteriores becas, así como un valor a tener en cuenta en el CV, a la hora de acceder a los primeros empleos.

Así, es patente la relevancia social de la posibilidad para tode alumne interesade en ello de poder encontrar y conseguir una beca.

Es también sabido que existe un sinnúmero de becas diferentes, con lo que, si bien es complicado acceder en primera instancia, y sin un perfil ya muy brillante, a las becas más conocidas, no ocurre lo mismo con otras, quizá menos famosas pero no por ello de peor calidad. El principal problema para optar a estas becas “desconocidas” radica precisamente en la dificultad que entraña el encontrarlas.

Para afrontar esta necesidad, nos propusimos la elaboración de un script que extrajese información de internet concerniente a becas, facilitando así la búsqueda.

Nuestro objetivo es llegar al menos a 100 descargas del script antes de que acabe la asignatura, demostrando con ello que es un proyecto útil.

Trabajo realizado

Para la elaboración del proyecto resolvimos utilizar el lenguaje Python, dada la existencia de librerías diseñadas especialmente para el scrapping de páginas web (la extracción de contenidos), así como la gran adaptabilidad del lenguaje, con la idea futura de implementar como bot de Telegram o Twitter el script de extracción de información.

La librería usada para el scrapping fue BeautifulSoup 4.

Como primera aproximación, diseñamos un script que recorría distintas páginas, empezando en una de entrada y saltando a otras a través de hipervínculos, exportando el contenido de los bloques de texto que contuviesen la palabra “beca”, acompañados de la página de procedencia de dicho bloque de texto para que el usuario pudiera visitarla.

Pronto abandonamos dicho enfoque, lastrado por el exceso de contenido inútil que se generaba.

El siguiente enfoque que planteamos fue el de parsear directamente páginas relacionadas con becas, extrayendo información concreta de las becas que se hallasen abiertas, como las secciones de becas de Santander o La Caixa. Este nuevo enfoque tenía otro problema: cada página diferente sigue una estructura diferente de contenidos y cabeceras (header), lo que obliga a tener un script diferente para cada página que se quiera parsear.

Así, el método que decidimos fue desarrollar dos scripts (para el Santander y la Caixa), y, a partir de ellos, abrir un proyecto de código abierto en el que todo el mundo pueda añadir scripts para distintas páginas, con la expectativa de generar un repositorio de código que derive información lo bastante extensa para cumplir el objetivo propuesto.

Por último, en cuanto al uso y presentación de los resultados de los scripts, proyectamos desarrollar un bot de Telegram que permita usarlos cómodamente, para el cual nuestros compañero Marco nos ha compartido su kernel para generar bots de Telegram TinyHero.

Trabajo futuro

  • Crear el script base que recopile la información proporcionada por los subscritps.
  • Difundir el script.
  • Crear el bot de Telegram con TinyHero.
  • Crear el repositorio para añadir nuevos scrapers.
  • Crear nuevos scrapers.

Código Fuente

https://github.com/rincon-santi/RastreGranTor

Integrantes del grupo

Alfredo Ibias Martínez (DG, 5ºA)

Daniel Loscos Barroso (DG 5ºA)

Marco Desantes Gutierrez (GII 4ºA)

Santiago Rincón Martínez (DG 5ºA)