python使用hyper下载https2.0网站的excel
之前文章介绍了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相关推荐
- python爬取下载动态图片网站
这次我们来爬取一个图片网站 unsplash.com,为什么要选择这个网站呢?因为这个网站的所有图片都是js动态请求生成的,所以说一般的爬取肯定是不行的啦 ~ 一.工具 这次爬取我们需要借助一款工具代 ...
- Python爬虫抓取某音乐网站MP3(下载歌曲、存入Sqlite)
Python爬虫抓取某音乐网站MP3(下载歌曲.存入Sqlite) 最近右胳膊受伤,打了石膏在家休息.为了实现之前的想法,就用左手打字.写代码,查资料完成了这个资源小爬虫.网页爬虫, 最主要的是协议分 ...
- 关于如何使用python下载各大网站的视频
关于如何使用python下载各大网站的视频 前提摘要: 最近有些朋友问我怎么下载例如腾讯爱奇艺这些网站的视频,众所周知,这些网站视频只能先在PC端下载他们的客户端,然后再在客户端上缓存,而且缓存下来的 ...
- python爬虫图片工具安卓版下载_python爬虫之图片下载APP1.0
今天给大家来个好玩一点的,运用python爬取图片到本地,网站为https://www.pexels.com/ 这个网站为外文网,所以搜索图片要用英语,今天要做的就是在python中进行搜索和下载图片 ...
- python爬虫实战-爬取视频网站下载视频至本地(selenium)
#python爬虫实战-爬取视频网站下载视频至本地(selenium) import requests from lxml import etree import json from selenium ...
- python实现简单的小说下载V1.0
@[TOC] python实现简单的小说下载V1.0 需求来源于很多方面,闲来无事练手了 仅用于练习使用,不建议用在其他方面 建议下载参考对比 先来一段代码 import random import ...
- 一行Python代码就可以下载任意网站视频,零基础小白也能轻松学会
前言 对于Python爬虫很多人都不陌生,可以用它来批量下载文字.图片.视频等,其中涉及的知识点也是比较多的,但是Python中有一个方法,一行代码就能爬取任意网站上面的视频,只要你安装了Python ...
- 零基础利用Python库you-get下载b站等视频网站的视频(会员视频需有账号并且设置cookie)
文章目录 利用python下载视频 安装python 配置环境变量 下载you-get库 (需要下载会员视频)找到cookie 配置参数 写在开头: 之所以写这个教程是因为之前想要下载b站视频(PC端 ...
- python网站框架下载_Python搭建网站框架
1. 机器上安装python 在python官网下载python的2.7版本,然后一路next就可以安装了: 安装结束后,开启菜单会有python客户端,但是一般使用cmd命令行模式进行运行: 添加p ...
最新文章
- 小猿圈Linux基础面试题,看看你能答对几道?
- (1)虚拟机管理——在微软云Azure新门户创建虚拟机
- 各种常用的WINFORM控件遍历
- 启动php-fpm时报错
- 探索未知种族之osg类生物---呼吸分解之更新循环一
- wangeditor 不识别html_前端知识(一)认识HTML
- Android 系统(56)---深入浅析Android坐标系统
- 程序员交接文档_一个.NET程序员 2019 跳槽3次的悲惨故事
- bug in MicrosoftAjax.debug.js
- 设计模式(4)—— 简单工厂模式(Simple Factory,创建型)
- 关于CCSP云安全专家考试你一定要知道的事!
- 关于Windows下模拟Shift+END(功能键)无效问题
- deeplinux 热点_在deepin linux系统中连接无线的同时开启热点(即网络共享)的步骤
- 房价――你欠中国老百姓一次彻底的崩盘!
- Lint found fatal errors while assembling a release target. 问题的解决方案
- 微信小程序开发—— tabbar 配置
- pinyin4j:拼音与汉字的转换实例
- 频域判断波形_股票价格频域特性
- Echarts制作横向坐标轴,并且文字名称和数值都在横向坐标轴的上面
- java实现数字金额转换成汉字大写金额
热门文章
- java检测磁盘空间大小
- 如何登录锐捷设备(网关篇)
- 在计算机中将硬盘上的数据复制到u盘上称为,怎样将旧电脑所有数据(包括系统盘数据),全部复制到新电脑上?...
- 【博客126】( 二 ) 使用libgc库来帮你管理内存
- 计算机毕业设计springboot基于Springboot的在线教育平台的设计与实现8qecq源码+系统+程序+lw文档+部署
- O32:头寸管理,我有话说
- 【数据结构】kd树实现,范围查询,邻近查询笔记【1】2d树的构造
- FutureTask源码学习
- 数字化转型六图法:算法地图
- 485传感器接入串口交换机采集方案