Skip to content

Instantly share code, notes, and snippets.

@melizeche
Last active October 6, 2019 03:06
Show Gist options
  • Save melizeche/e2e33536a635a967c062187d54e4c52d to your computer and use it in GitHub Desktop.
Save melizeche/e2e33536a635a967c062187d54e4c52d to your computer and use it in GitHub Desktop.
ejemplo del campus party
# Primero hay que instalar las librerias necesarias
# pip install requests beautifulsoup4
import requests
from bs4 import BeautifulSoup
# Descargamos la pagina del BCP
bcp = requests.get('https://www.bcp.gov.py/webapps/web/cotizacion/monedas',
headers={'user-agent': 'Mozilla/5.0'}, verify=False)
#buscamos todas las etiquetas <td>, elegmos la cuarta, elegimos el texto, reemplazamos el . separador de miles y la coma decimal
cotizacion = float(BeautifulSoup(bcp.text).findAll("td")[3].get_text().replace(".","").replace(",","."))
print("La cotizacion del dolar es:",cotizacion)
# Descargamos la we de autos de clasipar
clasi = requests.get("https://clasipar.paraguay.com/motor/autos")
# creamos una lista de precios con una List comprehension de python buscando la clase CSS "price"
lista_precio = [x.get_text().replace(".","").split(" ") for x in BeautifulSoup(clasi.text).findAll(class_="price")]
print(lista_precio)
#Ahora hacemos lo mismo pero sin List comprehensions
# seleccionamos todos los elementos html con la clase CSS titAnuncio
lista_t = BeautifulSoup(clasi.text).findAll(class_="titAnuncio")
#creamos una lista vacia
lista_titulo = []
# recorremos cada elemento de la lista
for x in lista_t:
#agregamos a el texto de cada elemento html a la lista
lista_titulo.append(x.get_text())
print(lista_titulo)
# La forma corta con List comprehensions seria asi:
# lista_titulo = [x.get_text() for x in BeautifulSoup(clasi.text).findAll(class_="titAnuncio")]
# ambas listas tienen la misma longitud asi que podemos recorrerlas con un indice usando range(longitud_de_lista)
for indice in range(len(lista_precio)):
if lista_precio[indice][0] == "Gs": #Solo imprimos los precios que originalmente estaban en guaranies
print("---------")
precio_en_dolares= int(lista_precio[indice][1]) / cotizacion
print(lista_titulo[indice],"---> USD.", precio_en_dolares)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment