python2
+ 修改基础存储路径
+ 给map里面添加源url和存储文件夹,k-v对。
# -*- coding: utf-8 -*- import re import urllib import urllib2 import os # 抓取网页图片 # 根据给定的网址来获取网页详细信息,得到的html就是网页的源代码 def getHtml(url): page = urllib.urlopen(url) html = page.read() return html def saveImages(imglist, storeFilePath): number = 1 for imageURL in imglist: splitPath = imageURL.split('//') wwwUrl = splitPath.pop() splitPath2 = wwwUrl.split('/') picName = splitPath2.pop() fileName = storeFilePath + picName # 对于每张图片地址,进行保存 try: u = urllib2.urlopen(imageURL) data = u.read() f = open(fileName, 'wb+') f.write(data) print '正在保存的一张图片:', fileName f.close() except urllib2.URLError as e: print(e.reason) number += 1 # 获取网页中所有图片的地址 def getAllImg(html): # 利用正则表达式把源代码中的图片地址过滤出来 reg = r'href="(.+?.jpg)"' # https://www.ghibli.jp/gallery/thumb-laputa001.png imgre = re.compile(reg) imglist = imgre.findall(html) # 表示在整个网页中过滤出所有图片的地址,放在imglist中 return imglist # 创建本地保存文件夹,并下载保存图片 if __name__ == '__main__': baseFilePath = '/Users/shaopengyang/pic/' map = { "https://www.ghibli.jp/works/umi/#frame":'umi', "https://www.ghibli.jp/works/majo/#frame":'majo', "https://www.ghibli.jp/works/howl/#frame":'howl'} for url, filePath in map.items(): html = getHtml(url) imgList = getAllImg(html) # 判断存储路径是否存在 isExists = os.path.exists(baseFilePath + filePath + '/') if not isExists: os.makedirs(baseFilePath + filePath + '/') saveImages(imgList, baseFilePath + filePath + '/')