- 博客(66)
- 资源 (7)
- 问答 (3)
- 收藏
- 关注
原创 零知识证明与 ZK Rollups 详解
零知识证明(ZKP)允许证明者向验证者证明一个陈述的真实性,而无需透露除了该陈述是真实的这一事实之外的任何信息。
2025-03-01 23:16:54
598
原创 Scrapy:隧道代理中移除 Proxy-Authorization 的原理解析
移除头部是 HTTPS 隧道代理中的一个重要安全措施。它不仅保护了代理认证信息的安全,也确保了 HTTP 请求的规范性。理解这个机制对于开发安全的网络爬虫应用至关重要。
2025-02-27 21:46:35
1018
原创 Scrapy:_RequestBodyProducer 类详解
类是 Scrapy 中处理 HTTP 请求体的重要组件,通过实现接口,它提供了一种标准的方式来处理请求体数据的传输。理解这个类的工作原理对于开发高效的爬虫程序和处理复杂的 HTTP 请求非常重要。
2025-02-27 21:39:06
662
原创 知识拓展:Python 接口实现方式对比:Protocol vs @implementer
使用主要是因为它需要与 Twisted 框架深度集成,并且需要运行时的接口验证。而使用 Protocol 是因为它是较新的代码,主要用于类型提示和静态检查。两种方式各有优势,选择哪种方式主要取决于具体的使用场景和需求。
2025-02-26 21:12:07
521
原创 拓展知识:TxHeaders (Twisted Headers) 详解
TxHeaders是 Twisted Web 框架中用于处理 HTTP 头部的类,它提供了一个统一的接口来管理 HTTP 请求和响应的头部信息。在 Scrapy 中,它被用来处理 HTTP 请求和响应的头部数据。
2025-02-26 21:07:46
585
原创 知识拓展:Python集合类型 defaultdict 和 deque 详解
提供了自动处理默认值的优雅方式deque提供了高效的双端队列操作两者的组合在 Scrapy 中实现了灵活且高效的中间件管理这种设计模式值得在类似场景中借鉴。
2025-02-25 07:30:00
737
原创 Scrapy: MiddlewareManager 源码解析
统一接口: 为不同类型的中间件提供统一的管理接口灵活扩展: 支持自定义中间件类型和处理方法处理控制: 提供并行和串行两种处理模式优雅降级: 保持向后兼容性这种设计使得 Scrapy 的中间件系统既强大又灵活,能够满足各种复杂的需求。
2025-02-25 07:15:00
992
原创 知识拓展:Python 函数重载与类型注解详解
在 Python 中,函数重载主要通过@overload装饰器实现,它仅用于类型检查,不影响实际运行时行为。不使用 @overload(简单写法)使用 @overload(优雅写法)@overload@overload函数重载的价值提供类型安全改善代码可读性支持多种输入类型类型注解的好处提供静态类型检查改善代码文档增强 IDE 支持实践建议在复杂函数中使用重载保持类型注解的准确性配合类型检查工具使用。
2025-02-24 20:35:57
541
原创 Scrapy:DownloaderMiddlewareManager 设计详解
灵活性:中间件可以完全控制请求处理流程可扩展性:易于添加新的中间件健壮性:完善的异常处理机制优化性:支持缓存和提前返回机制可维护性:清晰的处理流程和接口设计。
2025-02-24 20:29:34
1011
原创 Layer2 扩容解决方案详解
Layer2 是建立在以太坊主网(Layer1)之上的扩容解决方案,它:- 继承以太坊的安全性- 提供更高的交易吞吐量- 降低交易费用- 保持去中心化特性
2025-02-23 22:22:20
558
原创 区块链共识机制详解
共识机制是区块链网络中,所有节点就某个状态(如交易的有效性)达成一致的规则和过程。它解决了在去中心化网络中如何确保数据一致性的问题。
2025-02-22 22:54:22
1032
原创 Scrapy:Downloader下载器设计详解
灵活性: 通过槽机制实现细粒度控制可扩展性: 中间件系统支持功能扩展健壮性: 完善的并发和延迟控制高效性: 异步设计提高性能这种设计既保证了爬虫的高效运行,又能有效防止对目标站点造成过大压力。
2025-02-22 22:50:16
1164
原创 Web3.py 入门笔记
Web3.py 是一个 Python 库,用于与以太坊区块链进行交互。它就像是连接 Python 程序和以太坊网络的桥梁。
2025-02-19 21:10:37
731
原创 Scrapy:DownloaderAwarePriorityQueue队列设计详解
是 Scrapy 中一个高级的优先级队列实现,它不仅考虑请求的优先级,还会考虑下载器的负载情况。这个队列为每个域名(slot)维护独立的优先级队列,通过平衡不同域名的请求来优化爬虫性能。
2025-02-19 20:52:26
1272
原创 知识拓展:接口协议Protocol 在 Scrapy 中的应用
pqueues.py 中的定义Protocol 在 Scrapy 中的应用展示了 Python 类型系统的现代特性,它既保持了 Python 的灵活性,又提供了静态类型检查的好处。这种方式特别适合像 Scrapy 这样的大型框架,能够在保持代码灵活性的同时提供更好的开发体验和类型安全性。
2025-02-18 17:19:38
935
原创 知识拓展:Python queuelib 模块详解
queuelib 是一个用于处理持久化队列的 Python 库,提供了内存队列和磁盘队列两种实现。它被广泛应用于 Scrapy 爬虫框架中,用于管理请求队列。
2025-02-18 17:16:04
1040
原创 知识拓展:Python序列化模块pickle 模块详解
pickle 是 Python 的标准序列化模块,用于将 Python 对象转换为字节流(序列化)以及将字节流恢复为对象(反序列化)。它支持几乎所有的 Python 数据类型和对象。官方文档:https://docs.python.org/zh-cn/3/library/pickle.html。
2025-02-14 22:14:54
633
原创 知识拓展:Python序列化模块 marshal 模块详解
marshal 是 Python 的内部序列化格式,主要用于序列化和反序列化 Python 对象。它是 Python 字节码(.pyc文件)使用的序列化格式,比 pickle 更原始和受限,但也更快速和安全。
2025-02-14 22:09:46
585
原创 知识拓展:设计模式之装饰器模式
装饰器模式是一种强大的设计模式,适用于需要动态扩展对象功能的场景。Python 中的装饰器是这一模式的具体实现,提供了一种简洁而强大的方式来扩展函数和方法的功能。
2025-02-14 21:58:30
540
原创 Scrapy: log日志模块的设计详解下
上面两篇文章介绍了log文件的大部分内容Scrapy: log日志模块的设计详解上Scrapy: log日志模块的设计详解中这篇文件介绍剩下几个方法,这几个方法使用比较独立。
2024-12-27 15:53:46
322
1
原创 Scrapy: log日志模块的设计详解中
scrapy中的日志模块使用了python中logging库实现。是logging库的典型应用。我们可以分析其使用方法,借鉴设计方法,提取使用技巧,来优化我们自己开发项目的日志模块设计Scrapy: log日志模块的设计详解上这篇文章主要介绍了logging库本身的一些概念,由于篇幅有限,scrapy源码中的logging用法将在这篇文章中介绍。
2024-12-27 15:06:11
957
原创 Scrapy: log日志模块的设计详解上
scrapy中的日志模块使用了python中logging库实现。是logging库的典型应用。我们可以分析其使用方法,借鉴设计方法,提取使用技巧,来优化我们自己开发项目的日志模块设计logging官方文档:https://docs.python.org/zh-cn/3.9/howto/logging.html#logging-howtologging的基本使用,还有日志的级别,大家去看官网文档非常详细。我这里做一些汇总介绍,为后面讲解scrapy中的设计方法做准备。
2024-12-26 16:26:24
834
原创 Scrapy:settings对象核心类BaseSettings详解
文件路径:scrapy/settings/initscrapy/settings这个文件夹中有两个文件。在__init__.py文件中定义了scrapy中的设置对象的核心类。default_settings.py文件中定义了scrapy所有的默认配置,这个就是记录scrapy默认配置的文件。在scrapy的启动的时候,scrapy会打印出一个字典。列出了我们修改了哪些设置。这个功能就是这两个方法实现"""把默认的配置文件转化为一个生成器""""""
2024-12-26 14:20:52
1022
原创 ConfigParser对象使用示例
ConfigParser是python官方提供的配置文件解析器。scrapy中的scrapy.cfg文件为这种格式的配置文件官方文档链接:https://docs.python.org/zh-cn/3.9/library/configparser.html?
2024-12-23 16:21:06
443
原创 Scrapy 中的配置笔记
scrapy在命令启动之前,先设置好了各种配置文件。其中包括系统自带的默认配置文件,还有用户自定义的settings.py。其中还有一个日常开发中不怎么用的scrapy.cfg文件,这个文件是用来告诉scrapy用户自定义的settings.py文件在哪里的。
2024-12-04 17:15:17
578
原创 Scrapy源码解析:DownloadHandlers设计与解析
代码路径:scrapy/core/downloader/__init__.py。
2024-10-31 17:31:39
236
原创 scrapy: UserAgentMiddleware源码与使用详解
设置User-Agent的方法可以有一下几种:1、settings.py文件中通过USER_AGENT设置2、通过spider的类属性设置2、通过request.headers.User-Agent设置v=b3;v="128"',0',其中 headers里的User-Agent优先级最高。
2024-09-25 11:00:32
513
原创 Linux相关:在阿里云下载centos系统镜像
里面有centos7的各个版本的系统镜像,我下周的是CentOS-7-x86_64-DVD-2009.iso。直接点击 os镜像,设定好版本,直接下载即可。
2024-09-14 10:59:58
3181
原创 systemd托管配置
journalctl -xu xxxx -fn 200 # 查看xxxx.service的日志。systemctl daemon-reload # 重新加载配置参数。
2024-01-04 16:32:20
575
chrome driver mac 版本
2022-05-08
更新高速电路设计与仿真分析:Cadence实例设计详解+《信号电源完整性仿真分析与实践》.zip
2019-06-13
高速电路设计与仿真分析:Cadence实例设计详解--邵鹏(包含随书光盘实例)
2018-11-16
Cadence高速电路板设计与仿真 信号与电源完整性分析 第4版 含光盘实例
2018-10-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人