前一段时间是爬文字,最近准备爬图片
找到了两种保存文件的方法
一种是用urllib.urlretrieve方法
#-*- coding: utf-8 -*- import urllib def callbackfunc(blocknum, blocksize, totalsize): '''回调函数 @blocknum: 已经下载的数据块 @blocksize: 数据块的大小 @totalsize: 远程文件的大小 ''' percent = 100.0 * blocknum * blocksize / totalsize if percent > 100: percent = 100 #格式化输出,%相当于转义 print "%.2f%%"% percent #local = 'd:\sina.html' #urllib.urlretrieve(url, local, callbackfunc)
这个回调函数还是蛮方便的,在下大文件的时候,能够直观的看到下载情况
还有一个是用open和write方法来下载
#-*- coding: utf-8 -*- import urllib import os url = 'http://pic10.nipic.com/20101014/3367900_101327028816_2.jpg' #urllib.urlretrieve(url, local, callbackfunc) u=urllib.urlopen(url) data=u.read() fileName="123.jpg" #选择images目录 os.chdir("images") f =open(fileName,'wb') f.write(data) print u"下载中",fileName f.close()