連番の画像をダウンロードするようなpythonスクリプト

author potpro(ぼとぷろ)
2015/02/15

連番の画像をダウンロードするようなpythonスクリプト

案外、「ページ内の画像を全てダウンロード」「ログインが必要なページの画像ダウンロード」

な感じの解説はあるのですが、連番ダウンロードは案外ない。

このコードは http://hoge.jp/1.jpg http://hoge.jp/2.jpg http://hoge.jp/3.jpg ・ ・ ・ みたいな感じの画像を連番で取得します。

自分用に作ったものなんで403なんかのerrorでbreakするというお粗末なコードになってますが。参考程度に。

pythonは3.xと2.xの情報がごっちゃになっててなかなか時間掛かった。shなんかで書いた方が早いだろうな・・・。 ちなみにpython2.x用です。3.xで動くかは知りません。

まあこの記事は、コードを綺麗にハイライトしてくれるWordpressプラグイン Crayon Syntax Highlighterがちゃんと動作しているかのテストです。意味はないです。

#!/usr/bin/python
#coding:utf-8
from urllib2 import Request, urlopen, URLError,HTTPError
import os

baseurl =raw_input(‘ダウンロードするURL:’) #example:http://hoge.jp/
input_url = raw_input(‘画像形式:’) #pngとかjpgとか
number=1
folder=’./img/’
os.mkdir(folder) #フォルダ作成
while 1:
point=str(number)+’.’+input_url
url=baseurl+point
print ‘get:’+url
output = folder+os.path.basename(url)+’.’+input_url
try:
req = urlopen(url)
file = open(output, ‘wb’)
file.write(req.read())
file.close()
print ‘filesize:’+os.path.getsize(output)
except HTTPError,e:
print e.code
print ‘stop’
break
except URLError,e:
print e.code
print ‘stop’
break
else:
number=number+1
print(‘All complete – image:’+str(number-1))