python下载文件的方法

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

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

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

 

posted @ 2017-04-08 10:54  安筱雨  阅读(480)  评论(0编辑  收藏  举报