标签:
1 #首先我们可以先获取要下载图片的整个页面信息 2 #coding=utf-8 3 #Urllib 模块提供了读取web页面数据的接口,我们可以像读取本地文件一样读取www和ftp上的数据 4 import urllib 5 import re 6 #首先,我们定义了一个getHtml()函数: 7 def getHtml(url): 8 #urllib.urlopen()方法用于打开一个URL地址 9 page = urllib.urlopen(url) 10 #read()方法用于读取URL上的数据,向getHtml()函数传递一个网址,并把整个页面下载下来。执行程序就会把整个网页打印输出。 11 html = page.read() 12 return html 13 14 #创建了getImg()函数,用于在获取的整个页面中筛选需要的图片连接 15 def getImg(html): 16 #采用正则表达式取出页面中图片的url 17 reg = r‘src="(.+?\.jpg)" pic_ext‘ 18 #re.compile() 可以把正则表达式编译成一个正则表达式对象 19 imgre = re.compile(reg) 20 #re.findall() 方法读取html 中包含 imgre(正则表达式)的数据 21 imglist = re.findall(imgre,html) 22 #通过一个for循环对获取的图片连接进行遍历,为了使图片的文件名看上去更规范,对其进行重命名,命名规则通过x变量加1 23 x = 0 24 for imgurl in imglist: 25 #urllib.urlretrieve()方法,直接将远程数据下载到本地 26 urllib.urlretrieve(imgurl,‘%s.jpg‘ % x) 27 x+=1 28 #我们要爬的网址,对每个网址其图片存放方式可能不一样,所以需要不同的正则表达式 29 html = getHtml("http://tieba.baidu.com/p/2460150866") 30 print getImg(html) 31 32 http://www.cnblogs.com/fnng/p/3576154.html#top
update:
如果想将其下载在你指定的file中,只需要修改
urllib.urlretrieve(imgurl,‘%s.jpg‘ % x)
即可,
urlretrieve(url,path)
将path修改成你想要的,如我想放在 F:\pic
则修改为
urllib.urlretrieve(imgurl,‘f:/pic/%s.jpg‘ % x)
就可以了~~
标签:
原文地址:http://www.cnblogs.com/xlchen/p/4251329.html