python下载文件的方法

时间:2022-12-16 22:59:05

前一段时间是爬文字,最近准备爬图片

找到了两种保存文件的方法

一种是用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()