2020年5月18日
摘要: 作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢! FastAPI支持为路径参数、请求参数添加附加信息,起到辅助说明或辅助校验的作用。 一、请求参数附加信息 对请求参数附加信息的支持,FastAPI通过Query模块来实现。 1、导 阅读全文
posted @ 2020-05-18 15:08 麦克煎蛋 阅读(2901) 评论(0) 推荐(0) 编辑
  2020年5月17日
摘要: 作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢! 二、多个Request Body 我们可以同时声明多个Request Body参数。 from fastapi import FastAPI from pydantic impor 阅读全文
posted @ 2020-05-17 16:04 麦克煎蛋 阅读(2178) 评论(0) 推荐(0) 编辑
  2020年5月16日
摘要: 作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢! Request Body是从客户端发送到API端的数据内容。 一、单个Request Body 通过以下几个简单环节我们就可以完成对Request Body的处理。 1、导入Pyd 阅读全文
posted @ 2020-05-16 22:47 麦克煎蛋 阅读(4028) 评论(0) 推荐(0) 编辑
摘要: 作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢! 一、请求参数 from fastapi import FastAPI app = FastAPI() fake_items_db = [{"item_name": "Foo"}, 阅读全文
posted @ 2020-05-16 15:22 麦克煎蛋 阅读(6377) 评论(1) 推荐(0) 编辑
  2020年5月15日
摘要: 在进行Scrapy开发的时候,需要使用UA中间件,这里就采用了fake-useragent来随机获取浏览器的UA值,但貌似直接访问的话有异常: File "/Users/mazhiyong/.virtualenvs/scrapy/lib/python3.7/site-packages/fake_us 阅读全文
posted @ 2020-05-15 11:16 麦克煎蛋 阅读(3005) 评论(0) 推荐(0) 编辑
摘要: 区块链的底层有四部分构成 1、一个分布式的数据库用来存储以往和将来的交易数据, 2、密码学的公私密钥体系用来确认交易双方的身份, 3、P2P网络用来广播和蔓延各类消息(如节点加入消息,节点失效消息,得到挖矿数据的消息) 4、用来决定节点记账权利的共识机制。 区块链作为一种去中心化的分布式账本系统,由 阅读全文
posted @ 2020-05-15 10:16 麦克煎蛋 阅读(760) 评论(0) 推荐(0) 编辑
  2020年5月13日
摘要: Twisted 算是最早支持 Linux poll 和 epoll 特性的异步编程框架,其核心是通过 Linux IO 的异步事件机制,通过 Selector 和 Event 的方式通过单线程来同时处理多个 I/O 并发请求;通过 Twisted 我们可以构建支持海量并发请求的服务器;异步请求虽然高 阅读全文
posted @ 2020-05-13 14:43 麦克煎蛋 阅读(541) 评论(0) 推荐(0) 编辑
摘要: 根据区块链的开发对象的不同,可以将区块链分成三类:公有链,私有链和联盟链。 公有链对所有人开放,节点可以随意的加入;私有链只对单独的实体进行开放,如公司内部;联盟链只会对一些特定的组织开放。 公有链 公有链是完全去中心化的一种区块链,比特币就属于这种链。在公有链上,各个节点均可自由加入和退出网络,并 阅读全文
posted @ 2020-05-13 09:47 麦克煎蛋 阅读(3349) 评论(0) 推荐(0) 编辑
  2020年5月12日
摘要: 作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢! 一、路径参数声明 我们可以用以下的方式来声明URL路径参数。 from fastapi import FastAPI app = FastAPI() @app.get("/item 阅读全文
posted @ 2020-05-12 14:53 麦克煎蛋 阅读(3676) 评论(0) 推荐(0) 编辑
  2020年4月30日
摘要: 作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢! FastAPI 基于 Pydantic ,Pydantic 主要用来做类型强制检查。参数赋值,不符合类型要求就会抛出异常。 对于 API 服务,支持类型检查非常有用,会让服务更加健 阅读全文
posted @ 2020-04-30 15:00 麦克煎蛋 阅读(6326) 评论(2) 推荐(0) 编辑
摘要: 作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢! 一、依赖项 Python 3.6+ FastAPI 站在这些巨人的肩膀上 Starlette :web部分 Pydantic :数据部分 可选依赖项: Pydantic需要: uj 阅读全文
posted @ 2020-04-30 14:35 麦克煎蛋 阅读(3975) 评论(0) 推荐(1) 编辑
摘要: 作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢! 为什么选择 FastAPI ? FastAPI 是Python领域(3.6+)用来构建 API 服务的一个高性能框架。 一、快速 性能极高,可与 NodeJS, Go 媲美。(得益 阅读全文
posted @ 2020-04-30 11:16 麦克煎蛋 阅读(6781) 评论(0) 推荐(0) 编辑
  2020年4月29日
摘要: 一、CGI CGI:通用网关接口(Common Gateway Interface)是一个Web服务器主机提供信息服务的标准接口。通过CGI接口,Web服务器就能够获取客户端提交的信息,转交给服务器端的CGI程序进行处理,最后返回结果给客户端。 CGI架构图 二、WSGI 全称Python Web 阅读全文
posted @ 2020-04-29 10:32 麦克煎蛋 阅读(1403) 评论(0) 推荐(0) 编辑
  2020年4月27日
摘要: 开始机器学习的知识了解。 阅读全文
posted @ 2020-04-27 09:38 麦克煎蛋 阅读(159) 评论(0) 推荐(0) 编辑
  2020年4月26日
摘要: 安装: pip install isbnlib 常见使用功能如下: # 导入库,库名为isbnlib import isbnlib # 13位ISBN验证 isbnlib.is_isbn13("9787111267768") #结果为True # 10位ISBN验证 isbnlib.is_isbn1 阅读全文
posted @ 2020-04-26 21:02 麦克煎蛋 阅读(1013) 评论(0) 推荐(0) 编辑
摘要: 可以使用del[d[key]],pop(key[,default]) 但如果元素不存在则会异常,这时候应该使用pop(key[,default])并指定default d = {'a':1,'b':2,'c':3} # 如果key不存在,则可以设置返回值 e2 = d.pop('m','404’) 阅读全文
posted @ 2020-04-26 20:58 麦克煎蛋 阅读(543) 评论(0) 推荐(0) 编辑
  2020年4月13日
摘要: C 程序犹如拿着剃刀在刚打过蜡的地板上劲舞。 ——Waldi Ravens C++ 学起来很难,因为它天生如此。 ——佚名 Java 从很多方面来说,就是简化版的 C++。 ——Michael Feldman 接下来请欣赏与众不同的表演。 ——巨蟒剧团之《飞翔的马戏团》 这两年一直在从事Python 阅读全文
posted @ 2020-04-13 14:42 麦克煎蛋 阅读(626) 评论(0) 推荐(1) 编辑
  2020年4月8日
摘要: 所有数据均来源于豆瓣图书,数据量并不完整,仅供学习爬虫对照结果使用,大概每天新增几百条。 接口地址: http://api.xiaomafeixiang.com/api/bookinfo?isbn=9787544270878 把上述示例中的"9787544270878"替换为实际需要查询图书的isb 阅读全文
posted @ 2020-04-08 10:55 麦克煎蛋 阅读(6871) 评论(1) 推荐(0) 编辑
  2020年4月1日
摘要: 环境准备 Python项目实践--环境准备01 虚拟环境virtualenv Python项目实践--环境准备02 Centos下的Python+Flask环境部署 Python项目实践--环境准备03 Scrapy + Selenium Chrome工作环境 图书爬虫项目 Python项目实践-- 阅读全文
posted @ 2020-04-01 16:16 麦克煎蛋 阅读(488) 评论(0) 推荐(0) 编辑
摘要: 图书访问接口: 接口地址: http://api.xiaomafeixiang.com/api/bookinfo?isbn=9787544270878 把isbn替换为实际需要查询图书的isbn编号即可。 一、爬虫架构Scrapy 选用的爬虫框架是Scrapy,具体学习文档可参考: https:// 阅读全文
posted @ 2020-04-01 16:15 麦克煎蛋 阅读(1095) 评论(0) 推荐(0) 编辑
  2020年3月31日
摘要: 一、虚拟环境 mkvirtualenv --python=/usr/local/bin/python3 scrapy workon scrapy 二、安装Scrapy pip install scrapy 三、Scrapy终端 pip install ipython Scrapy终端是一个交互终端, 阅读全文
posted @ 2020-03-31 16:56 麦克煎蛋 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 参考文章: https://blog.csdn.net/GAMEloft9/article/details/81017262 https://github.com/SeleniumHQ/selenium/wiki/Grid2 下载地址 http://selenium-release.storage. 阅读全文
posted @ 2020-03-31 16:18 麦克煎蛋 阅读(265) 评论(0) 推荐(0) 编辑
摘要: Selenium Firefox方案的使用过程基本类似Selenium Chrome方案,但痛点是未找到合理的方法动态设置代理,最后放弃了使用。 参考文章: 动态设置代理 https://stackoverflow.com/questions/20884089/dynamically-changin 阅读全文
posted @ 2020-03-31 16:15 麦克煎蛋 阅读(395) 评论(0) 推荐(0) 编辑
摘要: Selemium参考文章: https://www.jianshu.com/p/a1a64f649472 https://blog.csdn.net/htsait4113/article/details/84326817 https://blog.csdn.net/zhusongziye/artic 阅读全文
posted @ 2020-03-31 16:10 麦克煎蛋 阅读(881) 评论(0) 推荐(0) 编辑
摘要: 一、方案: 之前我们学习的内容都是抓取静态页面,每次请求,它的网页全部信息将会一次呈现出来。 但是,像比如一些购物网站,他们的商品信息都是js加载出来的,并且会有ajax异步加载。像这样的情况,直接使用scrapy的Request请求是拿不到我们想要的信息的,解决的方法就是使用selenium或者s 阅读全文
posted @ 2020-03-31 16:04 麦克煎蛋 阅读(616) 评论(0) 推荐(0) 编辑
  2020年3月27日
摘要: 一、Python环境 1、安装依赖项 # yum -y install zlib zlib-devel bzip2-devel openssl-devel ncurses ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db 阅读全文
posted @ 2020-03-27 13:43 麦克煎蛋 阅读(497) 评论(0) 推荐(0) 编辑
摘要: 在项目实践中,因为业务需求不同,我们可能会安装不同的Python版本,或者针对业务需求安装不同的各种包。 系统中的多个Python混用会导致$PYTHONPATH混乱,或者各个工程对于扩展包的版本要求不同等等情况。有一个简单的解决方案就是用virtualenv来隔离多个python,其本质只是实现隔 阅读全文
posted @ 2020-03-27 10:22 麦克煎蛋 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 一、打开关闭文件 1、打开文件 函数open用于打开文件,文件名是必不可少的参数,并返回一个文件对象。 file object = open(file_name, access_mode, buffering]) file_name: 文件名(或路径),强制参数,其他参数是可选的。 access_m 阅读全文
posted @ 2020-03-27 09:39 麦克煎蛋 阅读(177) 评论(0) 推荐(0) 编辑
  2020年3月25日
摘要: 一、迭代器 我们已经知道,集合数据类型(如list、tuple、dict、set、str等)和generator都可以直接作用于for循环。这些可以直接作用于for循环的对象统称为可迭代对象:Iterable。而生成器不但可以作用于for循环,还可以被next()函数不断调用并返回下一个值,直到最后 阅读全文
posted @ 2020-03-25 15:35 麦克煎蛋 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 一、生成器 通过列表推导,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。 所以,如果列表元素可以按照某种算法推算出来,那我们就不必创建完整的 阅读全文
posted @ 2020-03-25 15:33 麦克煎蛋 阅读(187) 评论(0) 推荐(0) 编辑