Citation
Dolz del Castellar González-Cela, Pablo
(2019).
Diseño y desarrollo de una aplicación web Scraping de extracción de enlaces de tiendas web.
Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S.I. y Sistemas de Telecomunicación (UPM), Madrid.
Abstract
El presente proyecto se ha llevado a cabo con la idea de hacer más fácil y cómodo el acceso a la información localizada en Internet, aprovechando técnicas y herramientas que tienen relevancia hoy en día. La finalidad del mismo es diseñar y desarrollar una aplicación web scraping de escritorio, independiente y autocontenida que pueda rastrear en Internet y extraer las URLs relacionadas con las palabras clave que introduzca un usuario. Posteriormente, la aplicación se encargará de almacenar los resultados en un archivo con formato Excel, dedicando una columna a cada una de las palabras clave, una fila a cada una de las páginas web que se han localizado y la intersección entre fila y columna a la URL completa de la ubicación de esa palabra en ese sitio web. Aunque en la primera aproximación al proyecto se proponía obtener únicamente los enlaces a tiendas web, finalmente se ha ampliado el rastreo a todo tipo de contenido web, permitiendo incluso que el usuario pueda acotar la búsqueda a unos dominios de internet determinados. Además, en el propio archivo de salida se irá almacenando en una hoja la información sobre las sucesivas búsquedas a modo de histórico de la aplicación. Esto es importante, ya que ese fichero será parte esencial de un proyecto más grande en el que se usarán tanto los datos de esa hoja como los enlaces de la hoja de URLs como punto de partida. En concreto, ese nuevo trabajo analizará la calidad de los contenidos semánticos de páginas web de tiendas y comparará los precios de los productos de cada una. Para desarrollar la aplicación se ha partido de un proyecto base que permite extraer URLs de Internet y almacenarlas sin modificar en un archivo de texto. Usando el lenguaje de programación Python, y especialmente la librería Scrapy, se ha ampliado este trabajo añadiendo, entre otras cosas, una interfaz gráfica de usuario, la gestión del archivo Excel y la opción de elegir diferentes tipos de búsqueda, según la exhaustividad que se desee en la misma. En todo momento, a lo largo del desarrollo de este proyecto final de grado, se han respetado las leyes sobre la vulneración de los derechos de propiedad intelectual y se ha cumplido la normativa referida a la protección de datos personales.
Abstract:
The aim of this project is to design and develop a desktop web scraping app, independent and self-contained, that can crawl the Internet and extract the links related to the keywords that have been introduced by an user. Subsequently, the application will be responsible for storing the results in an Excel file, dedicating a column to each of the keywords, a row to each of the web pages that have been located and the intersection between row and column to the full URL of the location of that word on that website. Although the first approach to the project it was proposed to obtain only the links to web stores, finally the tracking has been extended to all types of web content, even allowing the user to narrow the search to certain internet domains. In addition, in the same output file, the information about the successive searches will be stored on a sheet as a log of the application. This is important, because this file will be an essential part of a larger project in which both the data of that sheet and the links of the URL sheet will be used as a starting point. Specifically, this new work will analyze the quality of the semantic contents of web stores and compare the prices of the products of each one. To develop the application, we started with a base project that allows the user to extract URLs from the Internet and store them unmodified in a text file. Using the Python programming language, and especially the Scrapy library, this work has been extended by adding, among other things, a graphical user interface, the management of the Excel file and the option to choose different types of search, depending on the desired exhaustivity. In every moment, throughout the development of this final degree project, the laws on the violation of intellectual property rights have been respected and the regulations regarding the protection of personal data have been complied with.