Propuesta de patrón de diseño de software orientado a prevenir la extracción automatizada de contenido web - Castañeda Rojas, Edson Bryan (2016)
Web scraping o extracción de datos Web es el proceso de recolección de información de uno o más sitios Web de manera automatizada, emulando la interacción entre un usuario y un servidor, dicho proceso se basa en el análisis de estructuras HTML y no requiere la autorización de los propietarios. El uso de estructuras repetitivas o plantillas, facilita el funcionamiento de un programa informático que extrae contenido Web, dicha intrusión genera un incremento considerable en el uso de recursos, considerando la permanente ejecución de instrucciones para obtener tanto contenido como sea posible. Con la finalidad de reducir la vulnerabilidad de los sitios Web frente a procesos de extracción de contenido masivo, en el presente trabajo se planteó un patrón de diseño de software tomando como referencia el patrón Template View de Martin Fowler, al cual se agregó una capa de aleatorización que permita generar estructuras HTML no predecibles. Mediante la aplicación de una herramienta de extracción de contenido a un sitio Web de prueba, cuya capa de presentación se desarrolló tomando en cuenta el patrón de diseño propuesto, se logró verificar una reducción considerable de la cantidad de datos extraídos.