PythonでWeb上のファイルをダウンロードする

More than 1 year has passed since last update.


Webサーバーにあるファイルをダウンロードする

自動ダウンロードをしたいと思った時に便利なプログラムをpythonで書いてみた。urllibを使うとすごく簡単にできる。


download.py


#!/usr/bin/env python
#-*- coding:utf-8 -*-

import urllib.request
import sys

def download():

url = sys.argv[1]
title = sys.argv[2]
urllib.request.urlretrieve(url,"{0}".format(title))

if __name__ == "__main__":
download()



実行方法

python download.py [url] [ファイルタイトル]


実行するとdownload.pyのファイルと同上のディレクトリにファイルが作成される。(ファイルタイトルに絶対パスを入れるとそのパス上に作成される。)

sys.argvはsysモジュールをインポートすることで使用できる。sys.argv[0]にはそのプログラムのファイル名が入り、sys.argv[1]からはターミナルでの実行の際に入れた引数が順番に代入される。いくつものファイルを自動でダウンロードしたい場合はurlの規則性を見つけるか、Beautifulsoupのようなモジュールを使ってスクレイピングを行いurlを抽出しfor文でdownload()を複数回走らせればできる。


参考

urllib

sys

Beautifulsoup