直接贴代码
# coding=UTF-8 import urllib import re #下载图片 def getImg(html): # 正则表达式re,判断网页中图片的位置 reg = 'src="(.+?\.jpg)" alt=' imgre = re.compile(reg) # 得到位置的集合 imglist = re.findall(imgre, html) # 下载图片的名称 x = 0 # 便利下载图片 for imgurl in imglist: # print(x) urllib.urlretrieve(imgurl, '%s.jpg' % x) x += 1 #开始执行 # 网络地址 page = urllib.urlopen("http://www.mmjpg.com/tag/xiaoqingxin") html = page.read() getImg(html)
运行结果,图片缓存到默认地址(地址可更改)
代码分析
第一行代码代表 支持中文,要不然打印中文日志会报错
然后是(引包)
import urllib(用于请求网络)
import re(正则表达式用于过滤图片)
第二行getImg(html)下载根据html下载图片的函数
其中re.complie()和re.findall得到图片位置的集合
通过urllib.urlretrieve(图片url,存储地址)
第三行代码通过urllib.urlopen("网址")得到html源文件
page.read()转为string字符串
通过getImg(网页地址得到的string)
注意:图片缓存地址默认为项目的包下,可修改