把筛选的图片地址通过for循环遍历并保存到本地,代码如下:
#coding=utf-8
import urllib
import re
def getHtml(url):
page = urllib.urlopen(url)
html = page.read()
return html
def getImg(html):
reg = r'src="(.+?\.jpg)" pic_ext'
imgre = re.compile(reg)
imglist = re.findall(imgre,html)
x = 0
for imgurl in imglist:
urllib.urlretrieve(imgurl,'%s.jpg' % x)
x+=1
html = getHtml("http://tieba.baidu.com/p/2460150866")
print getImg(html)
这里的核心是用到了urllib.urlretrieve()方法,直接将远程数据下载到本地。
通过一个for循环对获取的图片连接进行遍历,为了使图片的文件名看上去更规范,对其进行重命名,命名规则通过x变量加1。保存的位置默认为程序的存放目录。
程序运行完成,将在目录下看到下载到本地的文件。
其中
urlretrieve(url, filename=None, reporthook=None, data=None)
比如我想把保存的文件命名为LALA1 LALA2 LALA3 。。。保存在 C:\ImageSave\ 文件夹内
将
urllib.urlretrieve(imgurl,'%s.jpg' % x)
x+=1
改成
urllib.urlretrieve(imgurl,'C:\ImageSave\LALA%s.jpg' % x)
x+=1
即可
参考:http://www.cnblogs.com/fnng/p/3576154.html