Skip to content

PythonGreen/web_scrapers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Practica 1: Web Scraping

Descripción

Esta práctica se ha realizado bajo el contexto de la asignatura Tipología y ciclo de vida de los datos, perteneciente al Máster en Ciencia de Datos de la Universitat Oberta de Catalunya. En ella, se aplican técnicas de web scraping mediante el lenguaje de programación Python para extraer así datos de la web XXXXXXXX y generar un dataset.

Miembros del equipo

La actividad ha sido realizada de manera individual por Pablo A. Delgado.

Ficheros del código fuente

  • src/main.py: punto de entrada al programa. Inicia el proceso de scraping.
  • src/scraper.py: contiene la implementación de la clase CompetitorScraper cuyos métodos generan el dataset en formato csv a partir de los datos extraidos de las publicaciones de productos en el sitio web de XXXXXXXX.

Ejecucion del scraper

Para ejecutar el script es necesario tener instalados los siguientes modulos adicionales en python:

pandas
beautifulsoup4
requests
json

y para ejecutar el scraper propiamente dicho simplemente realizar esto desde la consola:

python main.py

O si se desea ejecutar el scraper desde por ej jupyter notebook, se puede ejecutar los siguientes comandos:

from scrapers import CompetitorScraper

scraper = CompetitorScraper()   # creamos una instancia del scraper
scraper.scrape()                # ejecutamos el metodo que inicia el proceso de scraping. 

El tiempo promedio que le toma al scraper recuperar toda la data del sitio es de aproximadamente 40 minutos. Terminado ese tiempo, se puede consultar el resultado del scraping desde el panda dataframe resultante, ejecutando por ejemplo:

scraper.df_data.head()

Mientras que si desea guardar el dataframe en un fichero csv podemos ejecutar:

filename = '~/dataset_resultante.csv'
scraper.data2csv(filename)

El fichero resultante contendra esta informacion:

  • Title: Nombre del producto.
  • Price: Precio del producto.
  • Category_path: categoría a la cual pertenece el producto.
  • Rating: el rating es el promedio de las calificaciones recibidas por parte de los compradores del producto.
  • Qty_califications: cantidad de calificaciones recibidas.
  • Features_JSON_format: se guarda en un solo campo y en formato JSON las medidas y/o características del producto.
  • Image_Url: url de la primera imagen del producto en la publicación.
  • Item_Url: url del producto dentro del sitio web.

Recursos

About

Web Scrapers repo

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages