python2的代码从吉卜力网页上下载高清图片
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 + '/')

浙公网安备 33010602011771号