python+requests练习篇3-下载保存文件及中文乱码转换输出

本文介绍如何使用requests下载保存文件及中文乱码转换输出

一般下载都需要使用到get请求
代码如下:

# coding=utf-8
# 导入requests包
import requests
import time

url = ""		#  下载文件的url
headers = {} 	#  请求头参数
data = {}		# params传参,如有才写
path = ""存放文件路径

r = requests.get(url, headers=headers, params=data, stream=True, verify=False)
       if r.status_code == 200:
       		# 获取content下载数据源
            content = r.content
            # 获取返回头携带的文件名		 
            h = r.headers['Content-Disposition']    # 获取返回头,文件名字段
            s1 = h.split('=')[1]     # 按=号切割,取文件名 "导出表1606361433628.xls"
            s2 = s1.split('"')[1]      #按双引号切割,去掉前后双引号   导出表1606361330852.xls
            f = s2.encode('raw_unicode_escape')    # 使用'raw_unicode_escape'编码
            # print(f)    # b'\xc3\xa5\xc2\xaf\xc2\xbc\xc3\xa5\xc2\x87\xc2\xba\xc3\xa8\xc2\xa1\xc2\xa81606361433628.xls'
            file_name = f.decode('utf-8')       # 再用utf-8 解码
            # print(file_name)    #   导出表1606362037539.xls
            # 拼接存放文件路径
            file_path = path + file_name)	# 文件名可自定义,如自定义上一步获取文件名不需要
            # 打开文件写入
            with open(file_path, 'wb') as f:
                f.write(content)

             
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值