連番の画像をダウンロードするような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がちゃんと動作しているかのテストです。意味はないです。

[python]

!/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))
[/python]

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)