How to download a file from a URL which redirects?
10,797
import requests
url = 'https://readthedocs.org/projects/django/downloads/pdf/latest/'
r = requests.get(url, allow_redirects=True) # to get content after redirection
pdf_url = r.url # 'https://media.readthedocs.org/pdf/django/latest/django.pdf'
with open('file_name.pdf', 'wb') as f:
f.write(r.content)
If you want to download the file from other method or you want to get only final redirected URL you can use requests.head()
as shown below:
r = requests.head(url, allow_redirects=True) # to get only final redirect url
Author by
Nitanshu
Updated on June 05, 2022Comments
-
Nitanshu almost 2 years
I need to download a file using url-->https://readthedocs.org/projects/django/downloads/pdf/latest/
This url redirects to a url with a .pdf file.
How can I download that file with this url using python ?
I've tried :-
import urllib def download_file(download_url): web_file = urllib.urlopen(download_url) local_file = open('some_file.pdf', 'w') local_file.write(web_file.read()) web_file.close() local_file.close() if __name__ == 'main': download_file('https://readthedocs.org/projects/django/downloads/pdf/latest/')
but this is not working
-
Gahan over 4 years@TheGodfather so as it is out of scope for
requests
module.