当我们在网页上看到很多美图时,想要保存到本地,如果数量很多的话,一张张手动复制粘贴会很麻烦,现在用python可以实现一次性保存到本地。
#coding:utf-8
import re #re模块主要包含了正则表达式
import urllib.request
def getHtml(url):
page = urllib.request.urlopen(url)
html = page.read()#read()方法用于读取URL上的数据
return html
def getImg(html):
html = html.decode('utf-8')
reg = r'src="(.*?\.jpg)" pic_ext=' #正则表达式,得到图片地址
imgre = re.compile(reg) #re.compile()把正则表达式语法转化成正则表达式对象
imglist = re.findall(imgre,html) #re.findall() 方法读取html 中包含 imgre(正则表达式)的数据
#把筛选的图片地址通过for循环遍历并保存到本地
x = 0
for imgurl in imglist:
urllib.request.urlretrieve(imgurl,'%s.jpg' %x) #urllib.request.urlretrieve()方法,直接将远程数据下载到本地,图片通过x依次递增命名
x+=1
return imglist
html = getHtml("http://tieba.baidu.com/p/2460150866")
print(getImg(html))
运行后,打开对应文件夹,可以看到刚刚保存下来的图片