Two easy ways to download a file using Python requests
requests does not provide a
Option 1: Use requests_download
:
First, install requests_download
using
sudo pip3 install requests_download
or equivalent.
Now you can use it like this:
from requests_download import download
download(url, filename)
It also has built-in progress bar support:
from requests_download import download, HashTracker, ProgressTracker
from progressbar import DataTransferBar # sudo pip3 install progressbar2
progress = ProgressTracker(DataTransferBar())
download(pdfUrl, filename, trackers=(progress,))
Option 2: Do it yourself:
Use this snippet in your code:
import requests
import shutil
def requests_download_file(url, filename):
with requests.get(url, stream=True) as response:
with open(filename, 'wb') as fout:
shutil.copyfileobj(response.raw, fout)