pythonを使って連番の画像を一括ダウンロードする

pythonを使って連番の画像を一括ダウンロードするスクリプトを書いたので、まとめておく。(スクリプトは一番下)

https://www.xxxxxx/001.jpg
https://www.xxxxxx/002.jpg
.
.

というURLのjpgファイルを一括でダウンロードするためには、
url = "https://www.xxxxxx/"
と編集して実行することで、./pic/以下に一括でダウンロードされる。
1000枚までカウントアップしてダウンロードし続け、ファイルがなくなった時点で終了するスクリプトになっているため、1000枚以上の画像を一括でダウンロードする場合には、for i in range(1000):の部分の数字を変える。

また、
https://www.xxxxxx/a001.jpg
https://www.xxxxxx/a002.jpg
.
.
というように、画像ファイルの前に文字が入っている場合は、
url = "http://www.xxxxxx/a"
と指定すればよい。

これを使えば大抵のサイトの画像が一括ダウンロードできるが、サイト規約で禁止しているサイトもあるため、スクリプト使用前に規約を確認すること。

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

import urllib.request
import sys
import os

def download():
    path = "./pic/"
    os.mkdir(path)

    url = "保存元のURLを入れる"
    for i in range(1000):
        try:
            url_all = url + str(i+1).zfill(3) + ".jpg"
            urllib.request.urlretrieve(url_all, path + str(i).zfill(3) + ".jpg")
        except urllib.error.URLError as e:
            break

if __name__ == "__main__":
    download()