No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Solicitudes HTTP con Requests

12/20
Recursos

Aportes 15

Preguntas 3

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Hola Chicos! 😄

  • Crear un entorno
python3 -m venv env
  • Activar un entorno virtual
source env/bin/activate
  • Verificar que estemos dentro del entorno virtual
which python3
  • Instalar la dependencia dentro del entorno virtual
pip3 install requests
  • Verificar la instalacion
pip3 freeze
  • Crear el archivo para que cualquier persona pueda desplegar el proyecto
pip freeze > requeriments.txt

STORE

import requests

def get_categories():
    r = requests.get('https://api.escuelajs.co/api/v1/categories')
    print(r.status_code)
    print(r.text)
    print(type(r.text))
    categories = r.json()
    for category in categories:
        print(category['name'])

MAIN

import store

def run():
    store.get_categories()

if __name__ == '__main__':
    run()

Link de Platzi Fake Store API:

https://fakeapi.platzi.com/

Genial, es el primer curso que me toca sin aportes, saludos comunidad !

Esta clase me hizo pensar en la opción que tenemos para obtener datos también con web scraping, y encontre dos cursos en platzi que ya quedan agregados a la ruta:

https://platzi.com/cursos/webscraping/
https://platzi.com/cursos/web-scraping/

  • Las solicitudes HTTP son mensajes enviados por un cliente a un servidor para solicitar información o enviar datos al servidor. La biblioteca de solicitudes es una biblioteca popular de Python para realizar solicitudes HTTP. Con la biblioteca de solicitudes, puede enviar solicitudes HTTP utilizando Python.

  • Este es un ejemplo de cómo utilizar la biblioteca de solicitudes para realizar una solicitud GET a un sitio web:

import requests

response = requests.get('https://www.example.com')

print(response.status_code)
print(response.text)

  • La primera línea importa la biblioteca de Solicitudes. La segunda línea envía una solicitud GET al sitio web https://www.example.comy almacena la respuesta en la responsevariable. La responsevariable es una instancia de la Responseclase, que contiene la respuesta del servidor a la solicitud.

  • El status_codeatributo del Responseobjeto contiene el código de estado de la respuesta, como 200 para una solicitud exitosa o 404 para un error de página no encontrada. El textatributo contiene el cuerpo de la respuesta como una cadena.

También puede usar la biblioteca de Solicitudes para enviar otros tipos de solicitudes HTTP, como POST, PUT, DELETE, etc.

pip env es una gran herramienta para crear entornos. Pero cuando el volumen de proyectos crece se vuelve difícil administralos, por eso recomiendo aprender a trabajar con Conda (que es últil tanto para proyectos de Data Science como para proyectos de Backend). El curso de Jesús te enseña a usarlo. https://platzi.com/cursos/jupyter-notebook/

Si te aparece la api así:

Puedes agregar la extensión de google JSON Viewer para que se vea así:

Solo entra en el enlace y selecciona la opción Agregar extesión.

hoy dias tambien creo que es importante saber que podemos usar pipenv

Siempre me es emocionante tocar una API.
Ya sea con axios, postan, requests. Siempre es divertido ver todo el contenido que le ponen a los json

me encanto este ultimo diccionario:

{"id":17,"name":"no joda","image":"https://placeimg.com/640/480/any"}

Les recomendaré una buena práctica, en el archivo de store py declaren la url como una variable:

import requests

api_url_categories = 'https://api.escuelajs.co/api/v1/categories'


def get_categories():
    r = requests.get(api_url_categories)
    print(f'Status code: {r.status_code}')
    print(f'Text: {r.text}')
    print(f'type: {type(r.text)}')
    categories = r.json()
    for category in categories:
        print(category['name'])

Incluso pueden tener un archivo de Python donde solamente guarden las urls que vayan a llamar y hacen import de las variables o constantes de ese archivo y así es más fácil tener todo en 1 solo lugar.

Una clase super interesante!!! Muy util para obtener datos paraluego analizarlos!

alguien mas tiene este error?

raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='api.escuelajs.co', port=443): Max retries exceeded with url: /api/v1/categories (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f6a1842a140>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))

hubiera estado bien completar el ciclo con Response 😦

Segundo post!!! Saludos