Prerequisites :
Python requests module helps us make Http requests to specified URL. In this article we will make a json request to this url: https://icanhazdadjoke.com/ and develop a project wherein the user enters any word and the output would be a joke related to that word.
We will be using API (library request) to search jokes using a keyword entered by the user if we get multiple results on the keyword entered then one of those jokes will be displayed randomly.
Modules Used
- requests module allows us to sent the Https requests using python
- pyfiglet module converts the ASCII texts to ASCII art fonts
- termcolor module helps us format color in the output terminal
- random module generates random numbers numbers in Python
Approach
- Import module
- Add header, to specify in for, is data to be stored, by default it is html text(Here, we are getting data in JSON format)
- Ask user for input
- Pass input as searching element to retrieve data from URL
- Print retrieved data.
Program:
Python3
import requests
import pyfiglet
import termcolor
from random import choice
header = pyfiglet.figlet_format( "Find a joke!" )
header = termcolor.colored(header, color = "white" )
print (header)
term = input ( "Let me tell you a joke! Give me a topic: " )
headers = { "Accept" : "application/json" }, params = { "term" : term}).json()
results = response_json[ "results" ]
total_jokes = response_json[ "total_jokes" ]
print (total_jokes)
if total_jokes > 1 :
print (f "I've got {total_jokes} jokes about {term}. Here's one:\n" , choice(
results)[ 'joke' ])
elif total_jokes = = 1 :
print (f "I've got one joke about {term}. Here it is:\n" , results[ 0 ]['joke'])
else :
print (f "Sorry, I don't have any jokes about {term}! Please try again." )
|
Output
Article Tags :