import urllib3 import re import os def createFolder(directory): try: if not os.path.exists(directory): os.makedirs(directory) except OSError: print ('Error: Creating directory. ' + directory) def readXML(): url = 'http://cfs.tistory.com/custom/blog/140/1407955/skin/images/list.xml' http = urllib3.PoolManager() response = http.request('GET', url) try: p = re.compile('\<annotation\>(.*)<\/annotation>(?:(?:\n|\s)+)\<location\>(.*)<\/location>') m = p.findall(response.data.decode("utf-8")) return m except: pass return None def download(filename, url): path = './download' http = urllib3.PoolManager() response = http.request('GET', url, preload_content=False) createFolder('./download') with open(path + "/" + filename, 'wb') as out: while True: data = response.read(8196) if not data: break out.write(data) response.release_conn() bucket = readXML() if bucket != None: for each in bucket: filename = each[0] filename = filename.replace('#', '_') filename = filename.replace(':', '_') filename = filename.replace(';', '_') filename = filename.replace('\\', '_') filename = filename.replace('|', '_') filename = filename.replace('%', '_') filename = filename.replace('^', '_') filename = filename.replace('*', '_') filename = filename.replace('!', '_') filename = filename.replace('@', '_') filename = filename.replace('~', '_') filename = filename.replace('`', '_') filename = filename.replace('(', '_') filename = filename.replace(')', '_') filename = filename.replace('/', '_') url = each[1] try: download(filename + ".mp3", url) except: pass
급하게짬
여러 티스토리 블로그와 스택오버플로우 ctrl cv 조합임