Heim >Backend-Entwicklung >Python-Tutorial >Python ruft Website-Bilder ab
# zhouxianglh 2013.05.03 python3.3 import urllib.request from html.parser import HTMLParser import re import os import shutil import time url = "http://www.douban.com/" filePath = "D:\\temp" # 读也HTML urlContent = urllib.request.urlopen(url); data = str(urlContent.read()) # 初始化文件目录 if os.path.isdir(filePath): # os.removedirs(filePath) shutil.rmtree(filePath) elif os.path.isfile(filePath): os.remove(filePath) os.makedirs(filePath) # 生成唯一文件名 intFlag = 0 def getTimeStr(): global intFlag intFlag = intFlag + 1 return time.strftime("%H%M%S") + str(intFlag) # 解析HTML # HTMLParser方式解析,这里HTMLParser类似于抽象类 class MyHtmlParser(HTMLParser): def handle_starttag(self, tag, attrs): '获取 img标签' if tag == "img" : for imageUrl in attrs: '获取src属性' if imageUrl[0] == 'src': imageUrl = imageUrl[1] imageUrl = re.sub("[\\\\']", "", imageUrl) iamgeUrlArr = imageUrl.split("/") imgFilePath = iamgeUrlArr[len(iamgeUrlArr) - 1] try: imgData = urllib.request.urlopen(imageUrl).read() imgFilePath = filePath + os.sep + imgFilePath + getTimeStr() + ".jpg" imageFile = open(imgFilePath, "wb") imageFile.write(imgData) imageFile.close() print("下载文件", imageUrl, "成功,另存路径:" + imgFilePath) except : print("****下载文件 ", imageUrl, " 出错:") parser = MyHtmlParser() # 解析HTML parser.feed(data) print("获取图片操作完成")