Alexander A. E.Django developer

Peewee: ORM para python - I

Publicado el 20 Dec 2019
¿Qué es?

Peewee es un ORM para python. Incluye soporte para SQLite, MySQL, PostgreSQL y Cockroachdb.

¿Qué es un ORM?

Sus siglas significan Object-Relational mapping, o en español: Mapeo Objeto-relacional. Es una técnica que permite convertir entre los tipos de datos usados en los lenguajes de programación orientados a objetos y los tipos de datos de algun sistema de base de datos relacional.

Instalación

Se instala mediante pip.

pip install peewee

Para comprobar que se haya realizado la instalación, podemos …

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 …

12345678910