メモとして残します。
通常の場合
urlにダウンロードしたいファイルのURLを指定します。
dst_pathに保存するパス(ファイル名まで)を指定します。
import urllib.request
def download_file(url, dst_path):
req = urllib.request.Request(url = url)
with urllib.request.urlopen(req) as response:
data = response.read()
with open(dst_path, mode = "wb") as f:
f.write(data)
def download_file(url, dst_path):
req = urllib.request.Request(url = url)
with urllib.request.urlopen(req) as response:
data = response.read()
with open(dst_path, mode = "wb") as f:
f.write(data)
403 Forbiddenが出る場合
プログラムによるアクセスが禁止されている場合はブラウザからのアクセスであると偽装します。
headersでユーザーエージェントを指定します。
import urllib.request
def download_file(url, dst_path):
headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0",}
req = urllib.request.Request(url = url, headers = headers)
with urllib.request.urlopen(req) as response:
data = response.read()
with open(dst_path, mode = "wb") as f:
f.write(data)
def download_file(url, dst_path):
headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0",}
req = urllib.request.Request(url = url, headers = headers)
with urllib.request.urlopen(req) as response:
data = response.read()
with open(dst_path, mode = "wb") as f:
f.write(data)
コメント