Python 使用requests下载zip文件

2019-05-28  本文已影响0人  HAO延WEI

话不多说,直接上代码

# -*- coding: utf-8 -*-

"""
Create by Mr.Hao on 2019/5/27.

"""
import re
import time
import requests


class Getfile(object):  #下载文件

    def __init__(self,url):
        self.url=url

    def getheaders(self):
        try:
            r = requests.head(self.url)
            headers =  r.headers
            return headers
        except:
            print('无法获取下载文件大小')
            exit()

    def getfilename(self):  #获取默认下载文件名
        if 'Content-Disposition' in self.getheaders():
            print self.getheaders()
            file = self.getheaders().get('Content-Disposition')
            filename = re.findall('filename="(.*)"',file)
            if filename:
                print filename
                return filename[0]

    def downfile(self,filename):  #下载文件
        self.r = requests.get(self.url,stream=True)
        with open(filename, "wb") as code:
            for chunk in self.r.iter_content(chunk_size=1024): #边下载边存硬盘
                if chunk:
                    code.write(chunk)
        time.sleep(1)



if __name__ == '__main__':

    url = ''
    filename = Getfile(url).getfilename()
    Getfile(url).downfile(filename)

上一篇下一篇

猜你喜欢

热点阅读