一、引言
隨着網絡技術的飛速發展,越來越多的文件需要從互聯網上下載到本地。在Python 3中,我們使用一些標準庫和第三方庫就可以快速、簡單地實現文件下載。
二、使用urlretrieve()函數下載文件
1、介紹urlretrieve()函數
urlretrieve()函數是Python 3中常用的文件下載函數,位於urllib庫中。該函數接收兩個參數,第一個參數是文件的URL地址,第二個參數是將文件下載到本地的路徑名。
2、使用urlretrieve()函數下載文件的代碼示例
import urllib.request url = "http://example.com/file.pdf" local_filename, headers = urllib.request.urlretrieve(url, filename="file.pdf")
代碼解析:
第一行先導入urllib.request庫;
第三行指定要下載的文件URL地址;
第四行將下載的文件保存到本地路徑,同時返回本地文件名和文件頭信息。
3、使用urlretrieve()函數下載文件的注意事項
使用urlretrieve()函數下載文件需要注意以下幾點:
- 該方法下載的文件是阻塞的,即下載時程序將等待,直到文件完全下載完成才會繼續執行下一步操作。
- 網絡環境較差時,下載可能需要較長時間,影響程序的可用性。
三、使用requests庫下載文件
1、介紹requests庫
requests庫是Python 3中常用的HTTP請求庫,它可以用來發送HTTP請求和接收HTTP響應。requests庫在下載大文件時具有較好的效率。
2、使用requests庫下載文件的代碼示例
import requests url = "http://example.com/file.pdf" response = requests.get(url) with open("file.pdf", "wb") as f: f.write(response.content)
代碼解析:
第一行導入requests庫;
第三行指定要下載的文件URL地址;
第四行使用requests庫的get()方法發送HTTP GET請求,獲取服務器響應;
第六行打開本地文件,將響應內容以二進制寫入文件中。
3、使用requests庫下載文件的注意事項
使用requests庫下載文件需要注意以下幾點:
- 該方法和前一種方法一樣,是阻塞的。
- 使用requests庫下載文件可能需要較大的內存空間,因此不適用於下載較大的文件。
四、使用wget庫下載文件
1、介紹wget庫
wget是Linux系統中常用的文件下載工具,現在已經有Python版本的實現——wget庫,可以用來下載文件。
2、使用wget庫下載文件的代碼示例
import wget url = "http://example.com/file.pdf" filename = wget.download(url)
代碼解析:
第一行導入wget庫;
第三行指定要下載的文件URL地址;
第四行將文件下載到當前目錄,函數會返迴文件名。
3、使用wget庫下載文件的注意事項
使用wget庫下載文件需要注意以下幾點:
- wget庫下載的文件也是阻塞的。
- wget庫需要額外安裝,因此在使用前需要先安裝wget庫。
- wget庫僅在Linux系統中可用。
五、總結
以上就是Python 3實現文件下載的三種方法,每種方法都有其優劣點,具體使用方法可以根據實際情況進行選擇。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/192555.html