Caso de Estudio. Ingeniería Industrial virtual
Enviado por diego.ospina • 25 de Abril de 2023 • Apuntes • 747 Palabras (3 Páginas) • 67 Visitas
[pic 1]
Caso de Estudio
Ingeniería Industrial virtual
- Descripción del problema
Usted pertenece al sector legislativo y su empresa le presenta compilaciones de noticias asociadas a actos legislativos realizados en el senado de la república. Para ello se tienen acceso a los datos de noticas en la página web del senado de la República de Colombia (ej. Encabezado de la noticia, periodista autor de la noticia, fecha, texto de la noticia, etc). El objetivo es obtener con una periodicidad semanal las noticias disponibles en el portal. Con la información obtenida usted desarrollará un tablero de visualización que permitirá ver cosas como los nombres de los senadores más activos, los partidos políticos, los ministros y los entes de control más citados, etc.
- Estrategia de solución
Para cumplir con el objetivo propuesto debemos realizar por lo menos las siguientes tres tareas:
- Extraer la información relevante que considere necesaria para la realización del tablero de control.
- Depurar y analizar la información obtenida.
- Visualizar los resultados de los análisis que se hagan sobre la información depurada.
Para la primera de estas tareas el portal permite acceder a la información de manera estructurada, con una estructura secuencial de las noticias en orden de publicación, y siempre agrupadas de a tres noticias por pantalla. E la web hay existencia de un histórico de noticias desde el año 2019, lo cual hace imposible la revisión manual de cada una de estas noticias. Es por ello por lo que se empleará un proceso denominado web scraping:
Web scraping (o "scraping web") es el proceso de extraer información de sitios web de manera automatizada utilizando un programa o herramienta de software. El proceso implica acceder a la estructura HTML de un sitio web y extraer los datos de interés.
El web scraping además de la segunda y la tercera tarea (Depurar y analizar y Visualizar) demandarán del uso de los conceptos vistos en este curso. Se sugiere el uso de la librería re para la construcción de las expresiones regulares a encontrar.
- Primera entrega
Esta primera entrega comprende 5 ejercicios. Los tres primeros requieren el diseño y la implementación de funciones en Python. Los dos últimos ejercicios requieren que ustedes comiencen a crear una idea del producto que generarán para la entrega final.
- (5 puntos) Se presentan las direcciones url de las cuatro primeras páginas resultantes en el portal al efectuar una búsqueda (puede probar y confirmar que la primera página de noticias se accede agregando ?start=0):
https://www.senado.gov.co/index.php/el-senado/noticias
https://www.senado.gov.co/index.php/el-senado/noticias?start=3
https://www.senado.gov.co/index.php/el-senado/noticias?start=6
https://www.senado.gov.co/index.php/el-senado/noticias?start=9
Note que existe un patrón que se repite en las direcciones url generadas.
Cree una función que reciba como parámetros el número de noticia inicial a visitar y como resultado entregue la dirección url de la página a visitar.
- (15 puntos) Realice el procedimiento para extractar las urls que contengan las noticias como referencia. Detallar y explicar el proceso usando la librería re. Tenga en cuenta que el buscador presenta las noticias completas, pero en el código html se encuentra el link a cada una de las noticias presentadas en el buscador.
- (15 puntos) Identifique cuales son los campos que deben importarse de las urls extractadas en el paso anterior y justifique que tipo de dato debe guardarse para cada uno de ellos. Tenga en cuenta que sobre los datos importados se desea realizar filtros por las categorías que usted considere adecuadas (justifique). Realice un código que permita realizar tal importación.
- (7 puntos) Asuma que usted ya dispone de la información obtenida del portal de noticias del senado. En un texto de no más de una página describa por lo menos tres de las funcionalidades que tendrá el tablero que se construirá con base en dicha información. Sea específico en las tareas y tipo de información generada. Por ejemplo:
El programa resultado presentará al petición del usuario el “Word cloud” que represente la mayor cantidad de apariciones de diferentes términos en los conjuntos seleccionados de noticias por fecha, por periodista, por senador o por el área que usted defina.
...