2017-06-19 5 views
-2

URLを使用してファイルをダウンロードする必要があります - >https://readthedocs.org/projects/django/downloads/pdf/latest/リダイレクトURLを使用してファイルをダウンロードするにはどうすればよいですか?

このURLは.pdfファイルのURLにリダイレクトされます。

どうすればこのファイルをpythonでダウンロードできますか?

私が試してみた: - これは動作します

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/') 

が、これは

+2

どうしましたか?厳しいものではありませんが、あなたの実際の問題が何であるかを理解できないほど些細なことです... –

+0

URLに.pdf拡張子を持つ通常のファイルをダウンロードする方法を試しました – Nitanshu

答えて

2
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) 

あなたは他の方法からファイルをダウンロードする場合または、リダイレクトされた最終的なURLのみを取得する場合は、requests.head()を以下のように使用します。

r = requests.head(url, allow_redirects=True) # to get only final redirect url 
0

が動作していない:

>>> import urllib 
>>> urllib.urlretrieve('https://readthedocs.org/projects/django/downloads/pdf/latest/', 'filename.pdf') 
関連する問題