Python, Requests Vs HTML Requests
Python, Requests Vs HTML Requests
Referencia: Weatherlink-https://www.weatherlink.com/static/docs/APIdocumentation.pdf
URL_JSON_udepbanano: https://api.weatherlink.com/v1/NoaaExt.json?
user=001D0A808663&pass=udepbanano123&apiToken=5F0DD6EAC10E4916B7182
90839131D0C
Está URL nos mostrarás los datos que nos envía Web Davis y de la cual tenemos que
obtener los datos.
Se utilizará un editor de textos en este caso se usará ATOM que es un editor de código
abierto “open source”, esto es una aplicación que está en nuestros escritorios que nos
permite modificar distintos tipos de archivos entre alguno de ellos HTML, PYTHON,
JS, JSON, TXT, CSS, etc.
Tenemos dos opciones para poder hacer la obtención de datos del API:
7.1.1. Usando formato HTML:
Para eso se crea un archivo dentro de nuestro editor y se llamará “Datos.html”, en donde
lo primero que se definirán son los metadatos (meta), el primer meta es para definir el
conjunto de caracteres y sea capaz de codificarlos, el segundo es para definir una escala
ajustable si diese el caso de que lo abramos desde un celular, lo cual no es necesario ya
que nosotros necesitamos enviar la información no mostrarla en pantalla, de eso se
encargará nuestra plataforma web, el último meta es muy importante ya que nos
permitirá hacer un refresco de todos los datos leídos y obtenidos así nos aseguraremos
de no estar enviando los mismos datos siempre sino que se actualizaran cada cierto
tiempo, en este caso se colocó 60 segundos pero puede varias, aunque ya que en la API
se actualiza cada 15 minutos estos datos que envié serán repetidos hasta que pasen los
15 minutos predefinidos por la Web Davis.
Para obtener los datos, tenemos que importar la librería json ya que nos facilitará porque
ese es el formato que nos envía nuestra API, se crea una condición “if” en caso a futuro
se tenga un problema con el estado del HTPP, todos los datos se cargan (load) en una
variable “response_json” la cual es de una clase “diccionario”, debemos tenerla en una
clase tipo “bytes” , para eso la convertimos a una clase tipo “string” con la función
“.dumps” y luego una conversión para que llegue a tipo “byte”, esto es con el fin de que
cuando lea los datos del API estos abran un archivo json y que escriba todos los datos
recibidos.
En el archivo json que se creo tiene el nombre de “DatosBanano” en donde se observa
todos los datos que contiene la URL teniendo con éxito la obtención de los datos.
Figura 7. Lectura de datos.
Referencia: Propia
Figura 8. Datos obtenidos API.
Referencia: Propia
Los datos están presentados tal cual ha sido editado por los desarrolladores del API por
lo cual se tienen que modificar esta presentación de los resultados para un mejor
entendimiento de estos, sin afectar a los valores recibidos por la URL, esto también se
podría hacer al momento de pasar por la plataforma web, pero es más eficiente hacerlo
desde este punto para que en la plataforma se encargue de organizarlo y darle una
presentación, se utiliza la función “replace” pero esta se realizará cuando los datos
tengan una clase de tipo “string”, luego para mostrar los datos obtenidos y ya cambiados
se tiene que pasar esa variable a bytes y ver los valores ya cambiados.
Figura 9. Reemplazando Datos API.
Referencia: Propia.
Se puede observar en la siguiente figura que los nombres de los datos se entienden
mejor, lo cual facilitará al momento de organizar los resultados en nuestra plataforma
web.
Figura 10. Datos Reemplazados.
Referencia: Propia
Para enviar los datos, estos deben estar en una clase diccionario, que es la misma clase
en la que nosotros la hemos recibido, para ello se utiliza la función “decode” para pasar
los datos que tenían una clase de bytes a una clase de “string”, y luego usar la función
que viene incluida en la librería json que se importó “loads” que hará pasar la clase de
string a una clase de diccionario, estando ya lista para el envío.