El Urban Dictionary es un recurso increíble para los amantes del inglés; tiene definiciones precisas de palabras, no como otros servicios como Wikipedia, Oxford, etc. 😅
En este proyecto, creará un diccionario basado en la terminal (CLI).
Antes de empezae
- Créate un cuenta enRapidAPI.com y solicita tu key para la urban dictionary API.
- Ve este video de 15 minutos para comprender pipenv, the python package manager.
- Ve este video de 10 minutos para comprender qué son las API Keys y las credenciales.
🌱 Cómo iniciar este proyecto
- Este proyecto viene con los archivos necesarios para empezar a trabajar, pero tienes dos opciones para empezar:
a) Abrir este link con Gitpod (recomendado) en tu navegador: https://gitpod.io#https://github.com/breatheco-de/urban-dictionary-project-tutorial)
b) Clonar este repositorio localmente en tu computador:
1$ git clone https://github.com/breatheco-de/urban-dictionary-project-tutorial) (recomended)
- Instala las dependencias de la aplicación (solo una vez):
1$ pipenv install
- Ejecuta la aplicación escribiendo (cada vez):
1$ pipenv run python app.py
📝 Features that the application must have
- Saludar al usuario.
- Preguntarle al usuario cuál es el término que quiere buscar, usa el input o la entrada de la función de python
input("What term do you want to look for?")
.
- Usa el paquete de solicitudes de python para codificar tu solicitud GET en la API Urban Dictionary
Supongamos que estamos buscando la definición de la palabra computador
. La especificación de la API dice que debes realizar una solicitud GET a la siguiente URL:
1url = "https://mashape-community-urban-dictionary.p.rapidapi.com/define?term=computer"
- Procesa el response body, entiendelo y obtén la definición de la palabra en response body entrante.
- Muestra la definición en la terminal.
- Guarda la definición en un archivo JSON (JSON file).
🤠 ¿Te sientes con seguro?
Los siguientes requisitos no son obligatorios, pero puedes intentar completarlos si se siente seguro:
- Sistema de caché: si el usuario vuelve a pedir la misma palabra, en lugar de volver a llamar a la API, debería tener las respuestas anteriores almacenadas en un
dict
.
- Busca varias palabras separadas por comas.
- Usa
sys.argv
para permitir que el usuario solicite una definición como esta:
1# "enjoy" es la palabra que el usuario está buscando
2$ pipenv run python app.py enjoy
Pistas: como usar sys.argv