- 博客(224)
- 资源 (5)
- 收藏
- 关注
原创 fastapi-Depends
FastAPI提供了简单易用,但功能强大的依赖注入系统。这个依赖系统设计的简单易用,可以让开发人员轻松地把组件集成至FastAPI。编程中的「依赖注入」是声明代码(本文中为路径操作函数 )运行所需的,或要使用的「依赖」的一种方式。然后,由系统(本文中为FastAPI)负责执行任意需要的逻辑,为代码提供这些依赖(「注入」依赖项)。上述场景均可以使用依赖注入,将代码重复最小化。
2023-11-07 15:11:18 513
原创 fastapi-请求与响应
FastAPI中的Request和Response是用于处理HTTP请求和响应的两个核心对象。它们提供了许多功能和属性,使你能够更灵活地处理和构建HTTP请求和响应。
2023-11-06 12:00:55 1268
原创 fastapi-Headers和Cookies
在FastAPI中,Headers是一个特殊的类型,用于处理HTTP请求头(HeadersHeaders允许你接收、访问和修改HTTP请求中的头部信息。使用Headers,你可以在FastAPI的路由视图中将请求头作为参数接收,并对它们进行操作。
2023-11-05 11:18:58 666
原创 fastapi-参数
这是因为不支持任何方式去声明路径参数以在其内部包含路径,因为这可能会导致难以测试和定义的情况出现。时,我们会发生永远都是走的第一个路由,这是因为路由操作是按顺序依次运行的。当校验url非为path时,且没有其他路由与之匹配,那么将会返回404错误!声明不属于路径参数的其他函数参数时,它们将被自动解释为"查询字符串"参数。则当请求的url中未携带limit参数时,将默认为limit为20!可同时存在多个路径参数和查询参数,并且不需要以任何特定的顺序来声明!当我们访问如下url时,都将会把参数的值自动转换为。
2023-11-02 14:26:40 114
原创 fastapi-简介
FastAPI 是一个用于构建 API 的现代、快速(高性能)的 web 框架,使用 Python 3.6+ 并基于标准的 Python 类型提示。
2023-11-02 14:05:50 238
原创 python3.10-一些有意思的语法
python3.10发行已经有一段时间了,但是时至今日才开始用上python3.10版本,说实话有点惭愧。
2023-06-26 10:02:04 319
原创 Scrapy-请求和响应
Scrapy使用Request和Response对象来爬行网站。通常,Request对象是在爬虫中生成的,并在整个系统中传递,直到它们到达下载器,后者执行请求并返回一个Response对象,该对象返回发出Request的爬虫。Request和Response类都有子类,这些子类添加了基类中不需要的功能。这些将在下面的Request子类和Response子类中进行描述。
2023-04-07 01:24:18 1053 1
原创 Scrapy-连接数据库
通过前面几篇文章的学习,我们已经能够使用Scrapy框架写出一些常见的网络爬虫。在本章中,我们将使用Scrapy框架,将爬取到的数据存储到数据库中。与将数据写入文件一样,写入到数据库中也是通过文件完成的。
2023-04-07 01:23:30 981
原创 Scrapy-自动爬虫
在前面几篇博文当中,我们使用Scrapy框架编写的爬虫项目,只能爬取起始网址中设置的网页。有时候,我们需要让爬虫持续不断的自动爬取多个网页,此时,我们需要编写自动爬取网页的爬虫。在本章中,我们以为例,为大家讲解如何编写自动爬取网页的Scrapy爬虫。
2023-04-07 01:22:34 962
原创 Scrapy-核心架构
在之前的文章中,我们已经学习了如何使用Scrapy框架来编写爬虫项目,那么具体Scrapy框架中底层是如何架构的呢?Scrapy主要拥有哪些组件,爬虫具体的实现过程又是怎么样的呢?为了更深入的了解Scrapy的相关只是,我们需要对Scrapy的架构以及Scrapy中常见的组件进行了解,并熟悉Scrapy爬虫项目的工作流程。
2023-04-07 01:22:02 1291
原创 Scrapy-应对反爬虫机制
我们在运行爬虫的时候,如果爬取的网页较多,经常会遇到反爬虫问题,不让开发者进行爬取。因为现在很多网站都有相应的反爬虫机制,避免爬虫的而已爬取。所以,当我们要进行爬取大量网页的时候,很可能收到对方服务器的限制,从而被禁止,显然这不是我们想要的结果。
2023-04-07 01:18:58 1416
原创 Scrapy-安装与配置
在学习如何使用Scrapy开发爬虫项目之前,我们首先从总体上认识一下Scrapy爬虫项目的目录结构。执行完上面的创建命令,默认会有如下所示的项目结构:首先,会生成一个与爬虫项目名称相同的文件夹,比如此时我们爬虫项目名称为,所以此时,会生成一个名为的文件夹,该文件夹下拥有一个同名子文件夹(可以暂且称为项目核心目录)和一个scrapy.cfg文件。该同名子文件夹下放置的是爬虫项目的核心代码,scrapy.cfg文件主要是爬虫项目的配置文件。该项目中同名子文件夹下放置了爬虫项目的核心代码,包括一个。
2023-04-07 01:18:06 2525
原创 Scrapy-爬虫多开技能
我们知道,现在运行Scrapy项目中的爬虫文件,需要一个一个地运行,那么是否可以将对应的爬虫文件批量运行呢?如果可以,又该怎么实现呢?此时,我们已经在项目中创建了3个爬虫文件,有了这些转呗工作之后,我们就可以正式进入运行多个爬虫文件的功能的编写。
2023-04-07 01:17:29 757
原创 Scrapy-爬虫模板的使用
Scrapy,Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。在之前的博文中讲到,可以使用来查看Scrapy当前可用的爬虫模板,并且已知现在可用的爬虫模板有basicxmlfeedcsvfeed和。
2023-04-07 01:16:57 849
原创 Scrapy-实战
Scrapy,Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。在之前的博文当中,简要介绍了Scrapy相关工具命令的介绍,以及Scrapy爬虫项目的基本结构。
2023-04-07 01:16:05 1123
原创 daphne-详解
Daphne是一个异步的Web服务器,用于在Django项目中提供WebSocket支持。它的目的是提供高效、快速的HTTP和WebSocket服务,可以处理大量并发连接。
2023-04-07 01:15:54 3374
原创 opencv-图像几何处理
OpenCV于1999年由加里·布拉斯基(Gary Bradsky)在英特尔创立,并于2000年发布了第一个版本。Vadim Pisarevsky加入Gary Bradsky,管理英特尔俄罗斯软件OpenCV团队。2005年,OpenCV被用于斯坦利,赢得了2005年DARPA大挑战赛。后来,在Gary Bradsky和Vadim Pisarevsky领导的Willow Garage的支持下,该项目继续积极发展。OpenCV现在支持大量与计算机视觉和机器学习相关的算法,并且每天都在扩展。
2023-03-10 13:29:47 609
原创 opencv-图像操作
OpenCV于1999年由加里·布拉斯基(Gary Bradsky)在英特尔创立,并于2000年发布了第一个版本。Vadim Pisarevsky加入Gary Bradsky,管理英特尔俄罗斯软件OpenCV团队。2005年,OpenCV被用于斯坦利,赢得了2005年DARPA大挑战赛。后来,在Gary Bradsky和Vadim Pisarevsky领导的Willow Garage的支持下,该项目继续积极发展。OpenCV现在支持大量与计算机视觉和机器学习相关的算法,并且每天都在扩展。
2023-03-10 13:29:08 452
原创 opencv-基础使用
OpenCV于1999年由加里·布拉斯基(Gary Bradsky)在英特尔创立,并于2000年发布了第一个版本。Vadim Pisarevsky加入Gary Bradsky,管理英特尔俄罗斯软件OpenCV团队。2005年,OpenCV被用于斯坦利,赢得了2005年DARPA大挑战赛。后来,在Gary Bradsky和Vadim Pisarevsky领导的Willow Garage的支持下,该项目继续积极发展。OpenCV现在支持大量与计算机视觉和机器学习相关的算法,并且每天都在扩展。
2023-03-10 13:28:19 561
原创 django-filter的使用
django-filter是一个通用的、可重用的应用程序,它可以减轻视图代码的编写工作量。具体来说,它允许用户根据模型的字段筛选查询集,并显示表单让他们这样做
2023-03-03 17:19:33 1642
原创 django-simple-captcha的使用
是一个非常简单,但高度可定制的Django framework,可以向任何Django表单添加验证码图像。
2023-01-05 22:43:48 1194 1
原创 常用配置文件-yaml文件
YAML是"YAML Ain’t a Markup Language"(YAML不是一种标记语言)的递归缩写。在开发的这种语言时,YAML的意思其实是:“Yet Another Markup Language”(仍是一种标记语言)。YAML的语法与其他高级语言类似,并且可以简单表达清单、散列表、标量等数据形态。它使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种配置文件、倾印调试内容、文件大纲。YAML的配置文件后缀为.yaml,.yaml格式文件内容基本格式如下:key1:
2021-05-12 17:20:34 3269 1
原创 常用配置文件-toml文件
toml的目标是成为一种最小的配置文件格式,由于明显的语义,该格式易于阅读。toml旨在明确的映射到哈希表。toml应该易于解析解析为多重语言的数据结构。.toml文件的基本格式如下:[default]key1 = value1key2 = value2...从文件语法格式来看,.toml文件格式与.ini文件格式差不多,都是由多个部分组成,每个部分都由一个[section]标题开头,然后由特定的字符串"="分割的键/值条目。安装pip3 install toml写入文件下面,我们将
2021-05-08 22:02:04 6471
原创 常用配置文件-ini文件
ini格式的文件由多个部分组成,每个部分都由一个[section]标题开头,然后由特定的字符串(=或者:, 默认是=)分割的键/值条目。默认情况下,[section]的名称是区分大小写的,而后面键是不区分大小写的。前面和后面的空格,将会从键和值中删除。配置文件中也可能包含注释部分,由特定字符(#或者;,默认是#)界定,值得注意的是,注释部分不可与键值处于同一行。值也是可以跨多行的,只要值在换行时,缩进的深度比第一行的要深就行!ini格式文件的基本格式如下:[section1]key1 = value1
2021-05-08 22:01:16 7928
原创 Flask-SocketIO的使用
Flask-SocketIO为Flask应用程序提供对客户端和服务器之间的低延迟双向通信的访问。客户端应用程序可以使用Javascript,C++,Java和Swift中任何SocketIO官方客户端和任何兼容客户端来建立与服务器的永久连接。安装pip install flask-socketio依赖Flask-SocketIO兼容Python2.7和Python3.3+,该软件的异步服务可以从以下三种选择中选择:eventlet:高性能选项,支持长轮询和WebSocket传输gevent:
2021-05-08 22:00:18 6079 1
原创 python-grpc的使用
在gRPC中,客户端应用程序可以直接在其他计算机上的服务器应用程序上调用方法,就好像它是本地对象一样,从而使您更轻松地创建分布式应用程序和服务。与许多RPC系统一样,gRPC围绕定义服务的思想,指定可通过其参数和返回类型远程调用的方法。在服务器端,服务器实现此接口并运行gRPC服务器以处理客户端调用。在客户端,客户端具有一个存根(在某些语言中仅称为客户端),提供与服务器相同的方法。默认情况下,gRPC使用协议缓冲区,这是谷歌成熟的开源机制,用于序列化结构化数据(尽管它也可以用于其他数据格式,如JSON)。
2021-04-19 19:43:51 1807
原创 python-内置库csv的使用
所谓的CSV(逗号分隔值)格式是电子表格和数据库最常用的导入和导出格式。尝试使用CSV格式进行标准化描述之前已经使用了很多年。该csv模块reader和writer对象读取和写入序列。程序员还可以使用DictReader和DictWriter类以字典形式读取和写入数据。读取reader(iterable, dialect=‘excel’, *args, **kwargs)该方法返回一个reader对象,该对象将遍历给定的iterable中的行。默认情况下,从csv文件中读取的每一行都作为字符串列表返回
2021-02-23 09:42:52 1477 1
原创 你所不知道的“四舍五入”
python中有太多对小数得操作,如保留小数位,强制转化为整数等等,其实对于大部分人而言,其中小数位的处理究竟是“四舍五入”或“四舍六入”又或者是“四舍六入五成双”。下面我们来总结一下:int强制转换在Python中int强制转化操作是一种“向零舍入”的方式,即需要处理的数字直接舍弃:print(5.9) # 5print(-5.9) # -5这并不是我们所需要的“四舍五入”,如果要实现“四舍五入”,我们可以让其加/减上0.5(正数加0.5,负数减0.5)再进行强制转换:a
2020-12-29 21:19:47 581
原创 python-httpx的使用
HTTPX是Python3的功能齐全的HTTP客户端,它提供同步和异步API,并支持HTTP/1.1和HTTP/2安装pip install httpx创建请求通过httpx库发出一个请求非常简单,如下:import httpxresponse = httpx.get('https://www.baidu.com/')print(type(response), response) # <class 'httpx.Response'> <Response [200
2020-12-17 15:22:11 12459 2
原创 Docker-实现MySQL主从复制
安装Docker安装教程传送门下载镜像并启动容器下载镜像root@ubuntu:~# docker pull mysql:5.7启动master容器与slave容器root@ubuntu:~# docker run --name master -p 3339:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7root@ubuntu:~# docker run --name slave -p 3340:3306 -e MYSQL_ROOT_P
2020-06-30 17:57:01 897
原创 实现九宫格图片朋友圈,原来如此简单
看到朋友圈中发九宫格的朋友圈,感觉很炫酷,自己也想去弄一下,可是又懒得下各种工具,又懒得手动裁剪。没办法只好自己动手,使用Python写一套逻辑进行自动裁剪。废话不多说,请看正文:安装依赖pip3 install pillow完整代码import osfrom PIL import Imageclass ImageCrop(object): def __init__(se...
2020-04-24 18:28:06 1238
原创 Python-在线网页导出为图片或pdf
我们都知道一个正常的网页,是由html+css+js组成,而其本质是一段段代码编写编译而来的。而图片是由一堆二进制数据组成的,我们该如何将网页上显示的内容导出为我们想要的图片或者pdf呢?博主闲极无聊逛遍github,发现了一个有趣的库pyppeteer,它实现了我所需要导出需求。接下来我们来看看它是怎么操作的:安装所需要的库pip install imageiopip install pi...
2020-04-08 17:55:12 3359
原创 【哀悼日】四行代码实现彩色图片黑白化
疫情中逝去的每一个生命,都不只是一个简单的数字或名字。他们是父亲、母亲、儿女、兄妹,是我们血脉相连的骨肉同胞。我们向逝世同胞致哀,同时也向那些与死神不屈抗争的生命致敬,向那种生死瞬间的人间大爱致礼。我们打开一些手机App,发现应用的主色调都变成了黑白色,就连原来一些彩色图片都变成了黑白色,以表达对逝世同胞致哀。下面,我们来使用Python来实现这一效果,原图如下:img1.jpeg代码如下...
2020-04-04 22:54:14 1240
原创 Linux-任务调度cron
linux 系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另 外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令 :crontab 命令。crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安...
2020-03-27 17:44:49 1640
原创 Python-asyncio的使用-2
asyncio模块提供了使用协程构建并发应用的工具。它使用一种单线程单进程的方式实现并发,应用的各个部分彼此合作,可以显示的切换任务,一般会在程序阻塞I/O操作的时候发生上下文切换如等待读写文件,或者请求网络。同时asyncio也支持调度代码在将来的某个特定事件运行,从而支持一个协程等待另一个协程完成,以处理系统信号和识别其他一些事件。对于其他的并发模型大多数采用的都是线性的方式编写。并且依赖于...
2020-03-25 16:56:06 1242
原创 Python-asyncio的使用-1
asyncio模块提供了使用协程构建并发应用的工具。它使用一种单线程单进程的方式实现并发,应用的各个部分彼此合作,可以显示的切换任务,一般会在程序阻塞I/O操作的时候发生上下文切换如等待读写文件,或者请求网络。同时asyncio也支持调度代码在将来的某个特定事件运行,从而支持一个协程等待另一个协程完成,以处理系统信号和识别其他一些事件。对于其他的并发模型大多数采用的都是线性的方式编写。并且依赖于...
2020-03-25 16:55:09 1036
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人