Alexander A. E.Django developer

Webscraping básico con Python - III

Publicado el 04 Dec 2019

En esta ocasión, siguiendo el ejemplo del post anterior, realizaré la misma tarea pero utilizando Scrapy, un framework especializado en la tarea de realizar webscraping.

Nuestro objetivo es el mismo: descargar la lista de libros y precios de Books to scrape.

Requisitos

Necesitamos instalar scrapy:

pip install scrapy

Comenzando

Nuestro script, según el ejemplo de la documentación de scrapy, toma la siguiente forma:

import scrapy

url = 'http://books.toscrape.com'


class BooksSpider(scrapy.Spider):
    name = 'books'
    start_urls = [
        url,
    ]

    def parse …

Webscraping básico con Python - II

Publicado el 01 Dec 2019

Continuando con un post realizado hace unos meses sobre los fundamentos del webscraping: Webscraping básico con Python - I, en esta ocasión presento otro ejemplo práctico para obtener información de un website.

Para nuestra pruebas utilizaremos Books to scrape, una página que simula ser una librería, creada con fines educativos por ScrapingHub1.

Dicha web cuenta con:

  • 1000 items en total
  • Paginación
  • 20 items por página
  • No requiere javascript para leer el contenido

Requisitos

Necesitamos tener instaladas los siguientes paquetes:

  • beautifulsoup4 …

¿Cómo encontrar imágenes similares con Python?

Publicado el 24 Nov 2019

El problema: imágenes que no coinciden (y deberían coincidir)

Una de las tareas en Librera implica recopilar la información de un libro en base a su ISBN, para lo cual en algunos casos se recurre al webscraping.

En algunos casos, al obtener la portada de un libro desde algún servicio externo como Google Books API, Goodreads API o scrapeando alguna web verificábamos que obteníamos una portada incorrecta.

Nuestro proceso para obtener la portada de un libro implicaba:

  1. Consultar varias fuentes …

Proyectos personales del 2019

Publicado el 16 Oct 2019

Mis proyectos Personales

Y para mi próximo truco, un post inusual.

Este año tengo dos proyectos que avanzo en mi tiempo libre (o que intento al menos).

Librera

Librera es un marketplace de libros originales el cual llevo en conjunto con algunos compañeros. El objetivo es agrupar a diversos vendedores, ya sean librerías, vendedores independientes u ocasionales y permitirles contar con un espacio en el que publicar sus libros.

Uno de los problemas que intentamos resolver es la dificultad para …

Webscrapping básico con Python - I

Publicado el 13 Feb 2019

¿Qué es webscrapping?

Es una técnica utilizada mediante programas de software para extraer información de sitios web. Usualmente, estos programas simulan la navegación de un humano en la World Wide Web ya sea utilizando el protocolo HTTP manualmente, o incrustando un navegador en una aplicación.1

Entre algunos tipos de contenidos que podríamos necesitar extraer tenemos a:

  • listados de noticias o empleos
  • lista de productos, sus imágenes y precios
  • relación de libros
  • otros

A modo de ejemplo, extraeré contenido de …

Instalar y configurar ModPageSpeed en nginx

Publicado el 18 Sep 2018

Hoy estuve investigando cómo mejorar el puntage de Google PageSpeed Insights, el cual es una página de google que mide la velocidad de carga de un website además de brindar algunas recomendaciones para mejorar dichas estadísticas.

Investigando encontré ModPageSpeeed un módulo para nginx (y apache) que realiza varias de aquellas optimizaciones, algunas como:

  • Minificar el html
  • Unificar archivos css o js
  • Convertir formatos de imágenes (como de jpg a webp si el navegador lo soporta)

Instalación con nginx (ubuntu server …

12345678910