読者です 読者をやめる 読者になる 読者になる

画像を一気にダウンロードしたい。その2

python

今日は微妙にエロまじりでごめんなさい。

http://albertayu773.pixnet.net/album/photo/104766203
の人が可愛すぎたので、python練習がてらにこの写真全部をダウンロードするスクリプトを考えた。そこで、私が正規表現を全く使えないことが判明!途中から正規表現じゃなくなってるのはご愛嬌。というか勉強します、、、。

#!/usr/bin/python
#coding:utf8

import sys, urllib, htmllib, re
import os.path, formatter


class ImageHTMLParser(htmllib.HTMLParser):
	def __init__(self):
		htmllib.HTMLParser.__init__(self, formatter.NullFormatter() )

	def handle_image(self, source, alt, ismap, align, width, height):
		#print source
		if re.search('\S*.jpg$', source):
			if (source.find('thumb_') == -1) and (source.find('normal_') == -1):
				print source
				self.saveURL(source)
		
	def saveURL(self, url):
		# urlのファイルを、ディレクトリに保存
		img = urllib.urlopen(url)
		localfile = open( os.path.basename(url), 'wb')
		localfile.write(img.read())
		img.close()
		localfile.close()
	


def download(url):
	# urlのファイルをダウンロードして返す。
	html = urllib.urlopen(url)
	return html.read()


# start	http://albertayu773.pixnet.net/album/photo/104766087
# end	http://albertayu773.pixnet.net/album/photo/104770369

if __name__ == '__main__':
	for i in range(104766087, 104770369):
		url = 'http://albertayu773.pixnet.net/album/photo/' + str(i)
		parser = ImageHTMLParser()
		parser.feed(download(url))
		#print url