Con el siguiente articulo repasaremos el modulo de Python “Requests” que nos permite realizar solicitudes sencillas a paginas web para extraer informacion de las mismas e utilizarlas luego.
Con el siguiente ejercicio voy a buscar el precio de una criptomoneda(SLP) conocida moneda de pagos del juego Axie Infinity en un portal conocido de precios de criptomonedas como es CoinGecko.
Pasos previos
Antes de comenzar es necesario realizar la instalación del modulo requests y el modulo de beautiful soup, que permitirán obtener la informacion y además poder interpretarla de manera correcta, esto lo puedes lograr con las siguientes lineas de comando:pip install requests
pip install bs4
El script
El script en si es el siguiente:import bs4, requests
def getslpprice(priceslp): res = requests.get(priceslp)
res.raise_for_status()
soup = bs4.BeautifulSoup(res.text, 'html.parser')
elems = soup.select('body > div.container > div.tw-grid.tw-grid-cols-1.lg\:tw-grid-cols-3 > div.tw-col-span-3.md\:tw-col-span-2 > div > div.tw-col-span-2.md\:tw-col-span-2 > div.tw-grid-cols-3.tw-mb-1.md\:tw-flex > div > div.tw-text-4xl.tw-font-bold.tw-my-2.tw-flex.tw-items-center > span.tw-text-gray-900.dark\:tw-text-white.tw-text-3xl > span')
return elems[0].text
price = getslpprice('https://www.coingecko.com/es/monedas/smooth-love-potion')
print('The SLP price is: ' + price)
De lo anterior es importante destacar lo siguiente, el contenido de la linea elems(soup.select) hace referencia al objeto que queremos extraer de la pagina y se puede extraer de la pagina como en la siguiente imagen de ejemplo:
La linea “res = requests.get
” obtiene de la pagina la informacion del selector.
Luego con la linea “soup = bs4.BeautifulSoup
” se eliminan los caracteres de tabulación y caracteres en blanco.
Al ejecutarlo obtendremos un mensaje como el siguiente mensaje de ejemplo:
Si quieres profundizar tus conocimientos en algunas de estas 2 librerías como:
Requests:
https://es.python-requests.org/es/latest/
Beautiful Soup:
https://beautiful-soup-4.readthedocs.io/en/latest/
Si necesitas alguna automatización en python puedes contactarnos y con gusto te cotizaremos y ayudaremos