python接口自动化22-下载文件(excel)

Posted jason89

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python接口自动化22-下载文件(excel)相关的知识,希望对你有一定的参考价值。

前言

Content-Type类型为octets/stream,这种一般是文件类型了,比如有时候需要导出excel数据,下载excel这种场景如何用python来实现呢?

抓下载接口

1.下载的场景如下图

技术分享图片

2.使用fiddler工具抓包,先找到导出按钮,点导出时候抓包

技术分享图片

3.fiddler抓到数据如下(response里面乱码是正常的,文件类型是无法在工具里面展示出来的,工具只展示字符)

技术分享图片

代码实现

1.生成excel的路径,如果没指定,会生成在当前脚本同一目录,如果指定的话,修改open里面第一个参数:”yoyo.xls”

2.excel的后缀有些电脑上.xls可能打不开,就改下改成.xlsx

3.代码python2和python3都适用

技术分享图片

4.参考代码

# coding:utf-8
import requests
url = http://www.xxx.com/xxx/xxx?begNy=&endNy=
herder = {
            "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
            "Accept-Language": "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3",
            "Accept-Encoding": "gzip, deflate",
            "Cookie": "你抓到的cookies",
            "Connection": "keep-alive"
          }

r = requests.get(url, headers=herder)

# open打开excel文件,报存为后缀为xls的文件
fp = open("yoyo.xls", "wb")
fp.write(r.content)
fp.close()

 

以上是关于python接口自动化22-下载文件(excel)的主要内容,如果未能解决你的问题,请参考以下文章

python接口自动化测试-写入excel(xlswriter)

python自动化下载excel文件与读取文件信息

Python接口自动化测试从设计到开发

Python+requests+unittest+excel实现接口自动化测试框架

Python+requests+unittest+excel实现接口自动化测试框架

python操作excel表格文件--使用xlrd模块