Obtener el precio de un producto de amazon con Python es muy sencillo aplicando técnicas de web scraping.

Obtener etiqueta HTML del precio del producto de amazon

Lo primero que necesitamos es estudiar el HTML de la página del producto del que queremos obtener su precio. ¿Cómo conseguimos esto? Pues es sencillo, inspeccionamos la página con cualquier navegador (click derecho y aparece la opción normalmente). Ahora debemos pulsar en la opción para mostrar el código HTML del sitio de la web en el que pinchemos (normalmente tiene símbolo def lecha o cursor, pero depende del navegador). De esta forma, obtendremos la etiqueta que contiene el texto con el precio.

Por ejemplo, para este producto la etiqueta que contiene el precio sería la siguiente:

<span id="priceblock_ourprice" class="a-size-medium a-color-price priceBlockBuyingPriceString">32,90&nbsp;€</span>

Lo que necesitamos obtener es el id de este bloque, ya que contiene el precio que luego obtendremos gracias a la librería Beautiful Soup. En este caso nos quedaremos con priceblock_ourprice.

Obtener precio del producto de amazon con Python

Ahora vamos ver el algoritmo que nos permitirá imprimir el precio del producto:

Antes de nada, necesitas tener instaladas las librerías:

Para utilizarlo simplemente debemos introducir un enlace de un producto de amazon en la variable url. Como puedes apreciar, lo mismo que he explicado para obtener el precio se ha aplicado para obtener el nombre del producto, para tener un ejemplo más, es decir, que esta técnica se puede aplicar para cualquier elemento de la página que se quiera obtener.

El problema es que puede que la etiqueta que hemos usado en este caso cambie según el producto, por ejemplo si es de otro país, por ello es importante conocer la técnica para obtener la etiqueta que contiene el valor que nos interesa obtener.

Por último, cabe destacar que lo explicado en este artículo se puede aplicar a otros páginas, ya que simplemente estamos obteniendo el código HTML de la página que es público.

Fuentes

Etiquetado en: