# -*- coding: utf-8 -*-
import urllib
import urllib2
import os.path
import sys
import datetime
from HTMLParser import HTMLParser
def download(url, savename):
# print "<download> url
savename=",
# print url,savename
img = urllib.urlopen(url)
localfile = open(savename, 'wb')
localfile.write(img.read())
img.close()
localfile.close()
def get_url_root(url):
if("http://" in url):
url_delet_http
= url.lstrip("http://")
if("/" in
url_delet_http):
url_root = "http://" +
url_delet_http[0:url_delet_http.find("/")]
return url_root
elif("https://" in url):
url_delet_http
= url.lstrip("https://")
if("/" in
url_delet_http):
url_root = "http://" +
url_delet_http[0:url_delet_http.find("/")]
return url_root
return 0
class imgParser(HTMLParser):
def __init__(self):
HTMLParser.__init__(self)
def
handle_starttag(self,tagname,attribute):
if
tagname.lower() == "img":
for i in attribute:
if i[0].lower() == "src":
img_url=i[1]
# 取得した写真のURLを集めたファイルの作成
f = open("collection_url.txt","a")
f.write("%s\t"%img_url)
f.close()
if __name__ == "__main__":
argvs = sys.argv
argc = len(argvs)
if argc == 1:
print "{0:s}
SaveFileName [id]".format(argvs[0])
sys.exit(1)
savefile = argvs[1]
print savefile
id = "935"
if (argc == 3):
id = argvs[2]
if len(os.path.dirname(savefile)) == 0:
datefile = "./date.gif"
if len(os.path.dirname(savefile)) != 0:
datefile =
os.path.dirname(savefile) + "/date.gif"
NowDate = datetime.datetime.now()
input_url =
"http://www.365calendar.net/index?action=user_calendar_detail&calendar_id={0:s}&target={1:%Y%m%d}".format(id,NowDate)
# print "input_url",
# print input_url
serch_url = input_url
htmldata = urllib2.urlopen(serch_url)
date_url =
"http://www.365calendar.net/lib_image/calendar/img_num{0:%-d}.gif".format(NowDate)
parser = imgParser()
parser.feed(htmldata.read())
parser.close()
htmldata.close()
# 生成したファイルの読み込み
f = open("collection_url.txt","r")
for row in f:
row_url =
row.split('\t')
len_url =
len(row_url)
f.close()
number_url = []
for i in range(0,(len_url-1)):
number_url.append(row_url[i])
rcode = 1
for j in range(0,(len_url-1)):
url =
number_url[j]
if not
"user_photo.php" in url:
continue
root_url =
get_url_root(serch_url)
download(root_url + url, savefile)
download(date_url, datefile)
rcode = 0
# ファイルの削除
os.remove("collection_url.txt")
sys.exit(rcode)
|