Python下載檔案

來源:互聯網
上載者:User

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和上面的程式段一起下載

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.