Python下载文件

来源:互联网 发布:零基础java就业班 编辑:程序博客网 时间:2024/05/18 02:50

from os.path import basenamefrom urlparse import urlsplitimport urllib,urllib2def url2name(url):    return basename(urlsplit(url)[2])def download(url, localFileName = None):    localName = url2name(url)    req = urllib2.Request(url, headers={'User-Agent' : "Magic Browser"})     r = urllib2.urlopen(req)    if r.info().has_key('Content-Disposition'):        # If the response has Content-Disposition, we take file name from it        localName = r.info()['Content-Disposition'].split('filename=')[1]        if localName[0] == '"' or localName[0] == "'":            localName = localName[1:-1]    elif r.url != url:        # if we were redirected, the real file name we take from the final URL        localName = url2name(r.url)    if localFileName:        # we can force to save the file as specified name        localName = localFileName    f = open(localName, 'wb')    f.write(r.read())    f.close() 
下载文件,一般可用urllib.urlretrieve(url,path,cbk)实现,但如果下载需要登录后的文件,可利用Cookies和上面的程序段一起下载