摘要: 前言 这是博主第一次接触学习restframework框架,很多知识点零散不系统,在这不建议将此文作为指导方向。 在此文讲解前,不会说明安装和配置信息,大家可以百度如何安装restframework,并自行安装成功就行。 在此会讲解几种序列化和反序列化的方法,表的设计是一对多结构。 代码实现 序列化 阅读全文
posted @ 2020-06-24 11:27 吹神 阅读(1419) 评论(1) 推荐(0) 编辑
摘要: 前言 导出数据写入ececl的方法有很多种,随个人喜好选择,可以采用保存文件的方式,也可以采用流方式。 重点在于要更改响应头类型使其支持中文名称输出 代码实现 @api.route('/download') def download(): data = Case.query.filter_by(). 阅读全文
posted @ 2020-06-22 15:50 吹神 阅读(1483) 评论(0) 推荐(0) 编辑
摘要: 前言 执行操作前得确保安装selenium和webdriver的驱动,还有第三方库的安装。 实现思路: 1、通过selenium操作浏览器,加载页面html全部代码,并保存 2、通过BeautifulSoup解析数据,并清洗合并所需要的数据。 3、通过xlsxwriter写入表格。 代码实现 以下是 阅读全文
posted @ 2020-06-22 15:29 吹神 阅读(1543) 评论(0) 推荐(0) 编辑
摘要: 前言 平时用selenium的时候一般都是直接用xpath获取需要点击的元素的位置 但是的项目里用到了一个元素,检查以后发现是个伪元素 网上百度查的方法都不管用,思路也没有说明白,导致摸索了很长时间 感谢博主提供的思路:点击跳转 实现 我们先看下具体的栗子,这里我选用的是【百度疫情实时大数据报告】, 阅读全文
posted @ 2020-06-01 14:20 吹神 阅读(10445) 评论(0) 推荐(2) 编辑
摘要: 前言 flask默认返回的异常是html格式的页面,但为了能更好的支持json的返回,所以我们得重写异常类的返回。 自定义返回符合resful风格的json,是重写了werkzeug.exceptions中的HTTPException异常类。 源码 在HTTPException类下第147-165行 阅读全文
posted @ 2020-05-25 10:28 吹神 阅读(2383) 评论(0) 推荐(1) 编辑
摘要: 前言 简单介绍一下celery: Celery 是一个异步任务队列。你可以使用它在你的应用上下文之外执行任务。总的想法就是你的应用程序可能需要执行任何消耗资源的任务都可以交给任务队列,让你的应用程序自由和快速地响应客户端请求。 官方文档: https://docs.celeryproject.org 阅读全文
posted @ 2020-05-14 18:25 吹神 阅读(2245) 评论(1) 推荐(0) 编辑
摘要: 前言 引出重写的原因,我们是通过软删除的方式来删除数据的(即通过status标识来确定数据是否作废) 那么这样的话,我们每一次查询的时候都要写上条件status=1很繁琐。我们可以重写filter_by方法 源码介绍 如上图所示我们现在使用的查询方式并不是SQLAlchemy原生的查询方式,而是fl 阅读全文
posted @ 2020-05-08 09:43 吹神 阅读(1043) 评论(0) 推荐(0) 编辑
摘要: 前言 转载:https://www.cnblogs.com/poloyy/p/12641991.html 用过unittest的童鞋都知道,有两个前置方法,两个后置方法;分别是 setup() setupClass() teardown() teardownClass() Pytest也贴心的提供了 阅读全文
posted @ 2020-04-28 14:44 吹神 阅读(572) 评论(0) 推荐(0) 编辑
摘要: 前言 转载自:https://www.cnblogs.com/poloyy/p/12704658.html pytest中可以用python的assert断言,也可以写多个断言,但一个失败,后面的断言将不再执行 pycharm提示未识别的话,在该位置alt+回车键,弹出三个选项,选择第二个忽略该错误 阅读全文
posted @ 2020-04-28 10:17 吹神 阅读(6136) 评论(0) 推荐(1) 编辑
摘要: 引言 我们在操作文件时最常用的就是使用with上下文管理器,这样会让代码的可读性更强而且错误更少,例如: 按照上述这样写的好处在于,在执行完毕缩进代码块后会自动关闭文件。同样的例子还有threading.Lock,如果不使用with,需要这样写: 如果使用with,那就会非常简单: 创建上下文管理( 阅读全文
posted @ 2020-04-26 16:45 吹神 阅读(269) 评论(0) 推荐(0) 编辑