之前文章介绍了python使用hyper爬取https2.0网站的数据,最近需要下载https2.0网站的一个excel,具体的代码如下:

import base64
from hyper import HTTPConnection, tls#建立连接,并设置certs.pem证书
conn = HTTPConnection('www.hkex.com.hk:443', secure=True,ssl_context=tls.init_context(cert_path=r'certs.pem'))
#请求数据,即下载
conn.request('GET','/-/media/HKEX-Market/Mutual-Market/Stock-Connect/Eligible-Stocks/View-All-Eligible-Securities_xls/Change_of_SSE_Securities_Lists_c.xls',None, None)
#获取响应的数据
resp = conn.get_response()
#s = resp.read(decode_content=False).decode(encoding='utf8', errors='ignore')
#最大的差别在下面对数据进行读取,之前是decode,也就是对数据进行了解压,因为现在是下载数据,则不对其进行解压
s = resp.read(decode_content=False)
#将下载的excel的二进制流保存为xls格式,即excel
with open("test.xls", 'wb') as fw:for c in s:fw.write(c)
#很多时候是将下载的数据扔数据库或消息队列,此时可以将其转换成base64码,记得import base64
with open("test", 'rb') as fr:base64_str = base64.b64encode(fr.read())fr.close()
if os.path.exists("test.xls"):  # 最后删除文件os.remove("test.xls")

这里是拿港交所的一个数据举例,具体的一些解释已经在代码中注释,其实跟爬取数据的最大区别在于不将数据解压,直接将流保存为excel即可,后面的转换成base64码,其实可以直接将流转换,这样也就省去了前面的存为excel再去读excel,最后再去删除excel的步骤。

为什么这样做,点进resp.read()源码就能看到注释,如果decode_content=True会把响应的数据解码,设置为False则是原始数据,可以自己来处理:

python使用hyper下载https2.0网站的excel相关推荐

  1. python爬取下载动态图片网站

    这次我们来爬取一个图片网站 unsplash.com,为什么要选择这个网站呢?因为这个网站的所有图片都是js动态请求生成的,所以说一般的爬取肯定是不行的啦 ~ 一.工具 这次爬取我们需要借助一款工具代 ...

  2. Python爬虫抓取某音乐网站MP3(下载歌曲、存入Sqlite)

    Python爬虫抓取某音乐网站MP3(下载歌曲.存入Sqlite) 最近右胳膊受伤,打了石膏在家休息.为了实现之前的想法,就用左手打字.写代码,查资料完成了这个资源小爬虫.网页爬虫, 最主要的是协议分 ...

  3. 关于如何使用python下载各大网站的视频

    关于如何使用python下载各大网站的视频 前提摘要: 最近有些朋友问我怎么下载例如腾讯爱奇艺这些网站的视频,众所周知,这些网站视频只能先在PC端下载他们的客户端,然后再在客户端上缓存,而且缓存下来的 ...

  4. python爬虫图片工具安卓版下载_python爬虫之图片下载APP1.0

    今天给大家来个好玩一点的,运用python爬取图片到本地,网站为https://www.pexels.com/ 这个网站为外文网,所以搜索图片要用英语,今天要做的就是在python中进行搜索和下载图片 ...

  5. python爬虫实战-爬取视频网站下载视频至本地(selenium)

    #python爬虫实战-爬取视频网站下载视频至本地(selenium) import requests from lxml import etree import json from selenium ...

  6. python实现简单的小说下载V1.0

    @[TOC] python实现简单的小说下载V1.0 需求来源于很多方面,闲来无事练手了 仅用于练习使用,不建议用在其他方面 建议下载参考对比 先来一段代码 import random import ...

  7. 一行Python代码就可以下载任意网站视频,零基础小白也能轻松学会

    前言 对于Python爬虫很多人都不陌生,可以用它来批量下载文字.图片.视频等,其中涉及的知识点也是比较多的,但是Python中有一个方法,一行代码就能爬取任意网站上面的视频,只要你安装了Python ...

  8. 零基础利用Python库you-get下载b站等视频网站的视频(会员视频需有账号并且设置cookie)

    文章目录 利用python下载视频 安装python 配置环境变量 下载you-get库 (需要下载会员视频)找到cookie 配置参数 写在开头: 之所以写这个教程是因为之前想要下载b站视频(PC端 ...

  9. python网站框架下载_Python搭建网站框架

    1. 机器上安装python 在python官网下载python的2.7版本,然后一路next就可以安装了: 安装结束后,开启菜单会有python客户端,但是一般使用cmd命令行模式进行运行: 添加p ...

最新文章

  1. 小猿圈Linux基础面试题,看看你能答对几道?
  2. (1)虚拟机管理——在微软云Azure新门户创建虚拟机
  3. 各种常用的WINFORM控件遍历
  4. 启动php-fpm时报错
  5. 探索未知种族之osg类生物---呼吸分解之更新循环一
  6. wangeditor 不识别html_前端知识(一)认识HTML
  7. Android 系统(56)---深入浅析Android坐标系统
  8. 程序员交接文档_一个.NET程序员 2019 跳槽3次的悲惨故事
  9. bug in MicrosoftAjax.debug.js
  10. 设计模式(4)—— 简单工厂模式(Simple Factory,创建型)
  11. 关于CCSP云安全专家考试你一定要知道的事!
  12. 关于Windows下模拟Shift+END(功能键)无效问题
  13. deeplinux 热点_在deepin linux系统中连接无线的同时开启热点(即网络共享)的步骤
  14. 房价――你欠中国老百姓一次彻底的崩盘!
  15. Lint found fatal errors while assembling a release target. 问题的解决方案
  16. 微信小程序开发—— tabbar 配置
  17. pinyin4j:拼音与汉字的转换实例
  18. 频域判断波形_股票价格频域特性
  19. Echarts制作横向坐标轴,并且文字名称和数值都在横向坐标轴的上面
  20. java实现数字金额转换成汉字大写金额

热门文章

  1. java检测磁盘空间大小
  2. 如何登录锐捷设备(网关篇)
  3. 在计算机中将硬盘上的数据复制到u盘上称为,怎样将旧电脑所有数据(包括系统盘数据),全部复制到新电脑上?...
  4. 【博客126】( 二 ) 使用libgc库来帮你管理内存
  5. 计算机毕业设计springboot基于Springboot的在线教育平台的设计与实现8qecq源码+系统+程序+lw文档+部署
  6. O32:头寸管理,我有话说
  7. 【数据结构】kd树实现,范围查询,邻近查询笔记【1】2d树的构造
  8. FutureTask源码学习
  9. 数字化转型六图法:算法地图
  10. 485传感器接入串口交换机采集方案