The requests module is your portal to the open web.π€― Basically any API that you have access to, you can pull data from it (Though your mileage may vary).
Getting Started β
Installing requests needs pipenv, so go ahead and install that first if you don't have it. If you do, simply run this command:
pipenv install requests
Let's go ahead and pick an API to use.π€
Here is a great resource to public APIs:
public-apis / public-apis
A collective list of free APIs
Public APIs
<i>A collective list of free APIs for use in software and web development</i>
Contributing Guide β’ API for this project β’ Issues β’ Pull Requests β’ License
Free APIs β’ Dev Resources β’ Public APIs Site β’ Apihouse β’ Collective APIs
[ Become a sponsor and support Public APIs and their maintainers ]
Special thanks to:
The fastest way to integrate APIs into any product
The fastest way to integrate APIs into any product
Index
Let's use the kanye.rest API for this quick example: https://kanye.rest/
Diving In π
Let's import the all mighty:
import requests
And get-ting the data is pretty straightforward:
kanye_url = requests.get('https://api.kanye.rest')
Print it in JSON format:
print(kanye_url.json())
# gets a random quote
# {'quote': 'Tweeting is legal and also therapeutic'}
It is important to read the docs of each API because each API is unique π§
Let's say we want to get a Chuck Norris joke from this API:
From the docs it uses a different URL, so let's go ahead and code that:
chuck_url = requests.get('https://api.chucknorris.io/jokes/random')
print(chuck_url.json())
... will output something like this:
{'categories': [], 'created_at': '2016-05-01 10:51:41.584544', 'icon_url': 'https://assets.chucknorris.host/img/avatar/chuck-norris.png', 'id': 'DLqW_fuXQnO1LtveTTAWRg', 'updated_at': '2016-05-01 10:51:41.584544', 'url': 'https://api.chucknorris.io/jokes/DLqW_fuXQnO1LtveTTAWRg', 'value': 'Chuck Norris Lost his virginity before his Dad...'}
...not exactly pretty to look at, so let's pretty-print it:π
# π Add this import below at the beginning of your file
# import json
print(json.dumps(chuck_url.json(), indent=2))
Now it looks like this:
{
"categories": [
"science"
],
"created_at": "2016-05-01 10:51:41.584544",
"icon_url": "https://assets.chucknorris.host/img/avatar/chuck-norris.png",
"id": "izjeqnjzteeqms8l8xgdhw",
"updated_at": "2016-05-01 10:51:41.584544",
"url": "https://api.chucknorris.io/jokes/izjeqnjzteeqms8l8xgdhw",
"value": "Chuck Norris knows the last digit of pi."
}
Now that's much more readable! πͺπͺπͺ
Sources:
π https://3.python-requests.org/
π https://github.com/public-apis/public-apis
π https://kanye.rest/
π€ https://api.chucknorris.io/
Top comments (1)
Awesome!!!! Thanks!!!