0% encontró este documento útil (0 votos)
43 vistas9 páginas

Python, Requests Vs HTML Requests

Este documento describe el desarrollo de un sistema para obtener datos de una API de clima. Se probaron dos métodos: usando HTML y Python. El método HTML falló porque la solicitud no tuvo estado 200. El método de Python tuvo éxito obteniendo los datos de la API en formato JSON y reemplazando los nombres de datos para una mejor comprensión. Los datos se convirtieron a string y diccionario para enviarlos a la plataforma web.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
43 vistas9 páginas

Python, Requests Vs HTML Requests

Este documento describe el desarrollo de un sistema para obtener datos de una API de clima. Se probaron dos métodos: usando HTML y Python. El método HTML falló porque la solicitud no tuvo estado 200. El método de Python tuvo éxito obteniendo los datos de la API en formato JSON y reemplazando los nombres de datos para una mejor comprensión. Los datos se convirtieron a string y diccionario para enviarlos a la plataforma web.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 9

7.

DESARROLLO, EXPERIMENTACIÓN Y RESULTADO


7.1. Obtener valores API:
Para la primera parte del desarrollo se procede a la obtención de datos de la API que nos
proporciona la Web Davis, que se adquirió siguiendo las indicaciones que tiene la
empresa para la seguridad de los datos de la estación:

Figura 1. Guía para la construcción del API.

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.

Figura 2. Plataforma ATOM


Referencia: Propia

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.

Figura 3. Definición de los metadatos.


Referencia: Propia.
Para el siguiente paso es definir los scripts, ya que esta zona es la que no se mostrará en
una página, sino que en esta se ejecutará las ordenes que le hemos dado y así lograr el
cumplimiento de la recolección de datos de la API.
Lo primero que se define es el link del API que se guardará en una variable llamada
requestURL este nombre puede variar por cualquier otro, Luego se ejecuta un objeto
XMLHttpRequest este nos permitirá intercambiar datos con un servidor web, con lo que
facilita la actualización de los datos, incluso podemos obtener datos específicos sin
necesidad de cargar toda la página, para que empiece el proceso de obtención se pide
una solicitud a la página web de abrir y obtener sus datos, definimos que es un tipo json
y que nos envíe los datos ‘send’.
La siguiente línea de código nos permite cargar los datos que obtenemos del API, pero
siempre y cuando cumpla la condición de que el estado de la pagina tenga un valor de
200, este valor es definido como petición accesible, teniendo así la posibilidad de
adquirir los datos, en caso contrario al momento de ejecutar la obtención de datos nos
arrojará un mensaje de ‘solicitud fallida’.

Figura 4. Verificación de estado.


Referencia: Propia.
Al cargar el cargar la pagina nos dimos cuenta de que el valor del estado no era 200 y
por lo tanto no nos serviría usar un archivo HTML para la obtención de datos de nuestra
API, ya que no teníamos acceso a la URL.

Figura 5. Estado de URL HTML.


Referencia: Propio

7.1.2. Usando formato PYTHON:


Para empezar a usar este formato se tiene que crear una carpeta con “.py”, en este caso
el archivo es “Datos.py”, importamos requests que es una librería para HTPP que nos
permitirá el enlace con nuestra URL generada, se guarda el enlace principal de la API
en una variable “url”, este nombre puede variar de acuerdo a preferencias, luego se
agregan los parámetros que presenta nuestra API en este caso son parámetros de
seguridad y varían dependiendo del cliente, en este caso de la estación UDEP banano
nos piden usuario (user), contraseña (pasa) y código api generado (apiToken) , cada uno
de estos con su respectivo valor.
Luego de definir los parámetros se le hace la petición a la “url” se hace la petición de
obtener los datos y haremos que nos muestre el estado del HTPP y confirmar la
obtención de los valores de está API.
Al ejecutar la petición nos muestra que el estado tiene un valor de 200 lo cual es un
estado de éxito para pode a obtener los datos de la URL generada.

Figura 6. Estado de URL Python.


Referencia: Propia

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.

Figura 11. Secuencia de conversión.


Referencia: Propia

También podría gustarte