使用 Python 透過 HTTP 下載檔案
在 Python 中,我們使用 Python 內建庫(如 **urllib**、**request** 和 **httplib**)透過 HTTP 下載檔案。HTTP 是超文字傳輸協議,用於透過全球資訊網訪問資料。HTTP 請求通常由客戶端(例如 Web 瀏覽器)發起,併發送到託管請求資源的伺服器。請求通常包含方法(例如 GET 或 POST)、標識資源的統一資源定位符 (URL) 以及提供有關請求的其他資訊的可選標頭。在本文中,我們將瞭解如何使用 urllib 和 request 庫來下載檔案。
使用 urllib 下載檔案
Urllib 包含諸如 urllib.request 之類的子模組,可用於輕鬆地從網際網路下載檔案。urllib.request 以檔案的 URL 和您要賦予下載檔案的名稱作為輸入。
語法
urllib.request.urlretrieve(URL, filename)
這裡 **urllib.request.urlretrieve** 接受兩個引數。一個是網際網路上檔案的 URL,另一個是您要賦予下載檔案的名稱。
示例
在下面的示例中,要使用 urllib 庫透過 HTTP 下載檔案,首先匯入 urllib.request 模組,然後呼叫 urllib.request 模組的 urlretrive 函式。傳遞要下載的檔案的 URL 和下載檔案後要保留的檔名。
如果傳遞了無效的 URL 或檔案不可下載,則會引發異常。
import urllib.request from PIL import Image url = 'https://python.club.tw/static/img/python-logo.png' filename = 'python-logo.png' urllib.request.urlretrieve(url, filename) with open(filename, 'rb') as f: image = Image.open(f) image.show()
輸出

使用 requests 庫下載檔案
requests 庫使用其 get 方法在 Python 中發出 HTTP 請求。它只需將檔案的 URL 作為輸入,併發出 get 請求以下載檔案,並將下載的檔案作為響應返回。
語法
requests.get(URL)
這裡在 **requests.get()** 方法中,URL 是要透過網際網路下載的檔案的 URL。
示例
在下面的示例中,我們匯入 requests 庫並指定我們要下載的檔案的 URL 和我們要賦予下載檔案的名稱。然後,我們匯入 requests 庫並使用 requests.get() 方法下載 Python 徽標。該方法返回一個包含檔案內容的響應物件。最後,我們讀取下載的檔案並將其列印到螢幕上。
import requests url = 'https://python.club.tw/static/img/python-logo.png' filename = 'python-logo.png' response = requests.get(url) from PIL import Image with open(filename, 'rb') as f: image = Image.open(f) image.show()
輸出

結論
在本文中,我們討論瞭如何使用 Python 內建庫(如 urllib 和 requests 庫)透過 HTTP 在 Python 中下載檔案。requests 庫提供了更高級別的介面,並且比 urllib 更易於使用。requests 庫提供了比 urllib 庫更簡單的方法來下載檔案。任何庫都可以用於在 Python 中下載檔案。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP