👌

PythonでURLによるファイルダウンロードを行う

2023/01/25に公開

背景

とある食品メーカーとその商品(例:お菓子等)の型番について、「誤りがあるかも」と伺ったので、それらをチェックするプログラムを組んだ。プログラムを実行したところ、データ量が膨大すぎて、チェック結果を記載しているファイル作成時にタイムアウトエラーを起こしてしまった。

やむを得ず、メーカーごとのidと商品ごとのidで一つずつファイルを作成するプログラムに書き換えた。ただ、このプログラムだと、いちいちidを変えてURLにアクセスしなければいけないので、膨大な時間がかかってしまう。そこで、pythonで自動的にファイルダウンロードできるURLへアクセスし、ファイルを保存できるプログラムを組んだ。

ファイルダウンロードするプログラム

結論、以下の通り。単純にファイルダウンロードするURLにアクセスして、その内容をtestとして保存するシンプルなプログラムである。

import requests

url='http://localhost/api/furniture/match?prod_id=1&manufacture_id=1'
filename='test.xlsx'

urlData = requests.get(url).content

with open(filename ,mode='wb') as f: # wb でバイト型を書き込める
  f.write(urlData)

Discussion