Python
ダウンロード
urllib

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