- 博客(284)
- 收藏
- 关注
原创 Docker 与 CI/CD:代码提交后怎么自动构建镜像并发布?
Docker与CI/CD自动化构建发布流程 本文介绍了如何通过CI/CD实现Docker镜像的自动化构建与发布。核心流程包括: 代码提交触发CI流程 自动执行测试和构建 生成Docker镜像并推送到仓库 自动部署到目标环境 文章详细解析了四个关键角色: 代码仓库:触发源头 CI平台:执行构建任务 镜像仓库:存储交付产物 运行环境:容器运行平台 通过GitHub Actions示例,展示了最小可用版本的实现方法,包括: 准备Dockerfile 配置镜像仓库凭证 编写自动化工作流 该流程解决了手工部署的诸多问
2026-04-13 15:22:08
394
原创 Redis 数据类型与底层实现:从 SDS、Quicklist 到 ZSet 跳表彻底讲透
本文深入剖析Redis核心数据类型的底层实现原理,重点分析了String、Hash、List、Zset等关键数据结构的设计思路与优化策略。文章揭示了Redis如何通过SDS动态字符串、Quicklist混合结构、跳表等精巧设计,在内存效率与操作性能之间取得平衡。特别探讨了String的三种编码方式(int/embstr/raw)及其44字节阈值背后的内存布局考量,以及Hash类型如何通过紧凑编码优化小对象存储。全文以工程视角解读Redis数据结构设计的精妙之处,帮助开发者深入理解其内部机制,从而在实际应用中
2026-04-12 17:43:50
495
原创 Redis 持久化、过期删除、淘汰策略与内存碎片全解析
Redis 核心机制解析:持久化、内存管理与性能优化 摘要 本文系统解析 Redis 的核心工作机制,包括数据持久化、内存管理和性能优化三个关键维度。在持久化方面,对比 RDB 快照与 AOF 日志的优缺点及应用场景;内存管理部分详解惰性删除与定期删除相结合的过期策略,以及 8 种内存淘汰策略的适用场景;性能优化环节重点分析 Copy-On-Write 机制对 BGSAVE 的影响,以及内存碎片的成因与解决方案。通过流程图和对比表格,清晰呈现 Redis 如何平衡数据安全性与系统性能,为生产环境配置提供实践
2026-04-12 17:42:46
517
原创 大模型可控性实践:护栏技术、结构化输出、GPT Structured Outputs 与 GPTCache
很多同学第一次听到“护栏技术”,会把它理解成“内容审核”。这只说对了一半。结构化输出,就是让模型不要只返回一段给人看的自然语言,而是返回程序也能稳定处理的数据结构。比如同样是抽取报销信息:这是一张交通类发票,金额大约 268 元,日期看起来是 2026-04-09。这段话人能看懂,但程序不好直接处理。"invoice_type": "交通",落库传给审批系统进入工作流引擎触发下一步工具调用这里先纠正一个常见说法。
2026-04-11 09:39:02
390
原创 MCP 协议详解:从架构、工作流到 Python 技术栈落地
MCP协议:AI系统连接外部世界的标准化方案 MCP(Model Context Protocol)是解决大模型与外部系统连接的核心协议,它超越了简单的函数调用,提供了一套完整的标准化交互框架。该协议主要解决三个关键问题:如何安全访问业务系统、如何发现可用工具、如何规范调用流程。 MCP协议包含三大核心能力: Tools(可执行动作) Resources(可读取资源) Prompts(可复用模板) 其架构基于Client-Server模式,支持两种传输方式: STDIO(适合本地工具接入) Streamab
2026-04-11 08:59:19
408
原创 AI Agent 完全指南:LangChain Agent、ReAct、Copilot-Agent 模式、Manus、Computer Use 与记忆机制
本文探讨了大模型从"问答系统"向"智能体(Agent)"演进的关键转变。文章指出,Agent系统通过引入目标导向、工具调用、状态管理和环境交互四大能力,使大模型能够持续完成任务而非仅生成一次性回答。文中重点分析了LangChain Agent的运行机制和ReAct范式,强调Agent不是简单的工具调用封装,而是包含模型、工具、状态、反馈循环、记忆和安全控制等组件的完整系统。文章还揭示了当前AI应用正从Copilot模式向Agent模式转变的趋势,并指出记忆机制和计算机
2026-04-10 18:18:04
838
原创 LangChain 与 LangGraph 完全指南:核心组件、架构原理、编排机制与 LlamaIndex 集成
LangGraph 是一个面向有状态 Agent 的低层编排框架,它通过 state、node、edge、reducer 和 checkpoint 来驱动复杂流程执行。到这里,前面的问题其实都已经融在正文里讲完了。如果你想最后快速复习,可以直接看这张表。问题简洁回答什么是 LangChain?一个面向 LLM 应用和 Agent 开发的高层框架,不只是“链式调用库”LangChain 的核心组件有哪些?LangChain 核心架构是什么样的?
2026-04-10 18:16:55
373
原创 RAG 调优后的效果评估与提示工程实践:真实场景中的标准、方法与经验
RAG调优效果评估与提示工程实践:分层评估框架与黄金测试集构建 本文系统阐述了RAG系统调优后的效果评估方法,提出了分层评估框架和黄金测试集构建方案。核心观点包括: RAG评估需分层进行:检索层(HitRate@K、MRR)、证据层(Context Precision)、生成层(Answer Correctness)和业务层(任务成功率)需分别评估,避免单一指标带来的误判。 2.构建黄金测试集的要点: 来源应多样化(历史日志、专家构造、失败案例、合成数据) 需覆盖多种问题类型(直接问法、口语化问法、多条件问
2026-04-10 14:10:08
519
原创 RAG 索引构建完全指南:数据清洗、分块策略、文档解析与 Embedding 选型
RAG索引构建核心要点 RAG系统的检索质量往往在索引阶段就已决定。常见问题包括文档解析不完整、清洗过度、分块不当和Embedding模型选择失误。索引构建的关键流程包括:文档解析→数据清洗→分块→Embedding→索引入库。 数据清洗需处理格式噪声、重复内容和结构标准化,但需避免过度清洗关键术语。分块策略需根据文档特性选择,常见方法包括固定长度、滑动窗口、结构化分块等,目的是形成语义完整的检索单元。Embedding模型选择应考虑语言、文本长度和术语特性。 索引阶段的核心目标是将原始文档转化为"
2026-04-10 11:11:27
517
原创 向量数据库原理与检索算法入门:ANN、HNSW、LSH、PQ 与相似度计算
本文系统介绍了向量数据库的核心原理与检索算法。主要内容包括: 向量数据库的本质是解决高维向量快速相似检索问题,适用于RAG、推荐系统等场景。 关键原理分为三层:数据表示层(Embedding)、相似度计算层(Cosine/L2距离等)和索引检索层(ANN算法)。 重点解析了三种主流ANN算法: HNSW:基于分层图的导航检索,速度快召回率高 LSH:局部敏感哈希分桶,快速缩小搜索范围 PQ:乘积量化压缩,降低存储和计算成本 比较了余弦相似度、欧式距离等不同相似度计算方法的特点。 强调ANN算法通过"
2026-04-10 09:47:01
201
原创 Docker 从入门到实战:镜像、Compose、Volume 与排障全指南
Docker 实战指南:镜像构建、容器编排与排障技巧 本文系统介绍了 Docker 的核心概念与实战应用。首先通过"集装箱"比喻形象说明 Docker 解决环境一致性问题的原理,对比了 Docker 容器与传统虚拟机的区别。重点讲解了三大核心概念:镜像(静态模板)、容器(运行实例)和仓库(镜像分发中心),并通过 Nginx 容器实例演示了基本操作流程。 进阶部分详细解析了 Dockerfile 与 Docker Compose 的协同工作机制:Dockerfile 负责定义单个应用的构建
2026-04-09 16:14:17
354
原创 RAG 完全指南:从基础概念、核心流程到 Advanced RAG 与 Modular RAG
RAG(检索增强生成)是一种结合大模型生成能力与外部知识检索的技术,旨在解决纯LLM的知识局限性问题。其核心流程分为离线知识准备(文档采集、清洗、切块、向量化建库)和在线问答生成(问题理解、检索、重排、上下文组装、生成答案)。相比纯LLM,RAG能有效缓解幻觉、知识过期和私域知识缺失等问题,适用于企业知识库、客服机器人等场景。完整RAG系统还包括查询改写、混合检索、重排序、上下文压缩等优化环节,形成从知识摄取到生成评估的闭环。该技术让LLM从"闭卷考试"变为"开卷作答"
2026-04-09 16:13:08
622
原创 Nginx 从零开始:给完全新手的保姆级入门指南
本文是一篇面向新手的Nginx入门指南,通过快递柜和门卫的比喻形象解释Nginx作为"请求分发器"的工作原理。文章提供了一份完整可运行的nginx.conf配置示例,包含详细中文注释,重点讲解了前端静态文件处理、API反向代理等核心配置项,特别强调了单页应用路由处理的关键技巧和常见坑点。最后还介绍了使用Let's Encrypt免费证书配置HTTPS的简单方法,并给出了验证配置和排错的实用命令。全文采用通俗易懂的语言,帮助零基础开发者快速理解Nginx的基本使用场景和配置方法。
2026-04-08 17:36:48
397
原创 MySQL 索引进阶:从失效排查到架构哲学
本文围绕索引“失效排查、数量权衡、B+树选型与查询全过程”展开,系统讲清 EXPLAIN 诊断思路、读写成本博弈与索引设计的边界。通过从实战问题走向底层原理与架构哲学,帮助你在面试与生产优化中做出可落地的索引决策。
2026-04-01 16:02:44
342
原创 MySQL 事务与并发控制:从日志底层到 MVCC 哲学
本文以事务与并发控制为主线,系统讲清三大日志(binlog/redo/undo)的职责分工、事务隔离级别与并发异常的本质,并深入解释 MVCC 与一致性视图如何支撑高并发读写。内容从工程诊断(长事务危害与排查)到理论哲学(为何选择 RR 与 MVCC),给出可落地的理解框架。
2026-04-01 16:01:32
525
原创 MySQL 锁机制:从理论分类到死锁实战
本文围绕 MySQL 锁机制展开,从锁的粒度与模式(全局/表/行、S/X、乐观/悲观)讲到 InnoDB 的记录锁、间隙锁、临键锁及其与隔离级别的关系,最后落到死锁的成因、检测与实战排查。内容强调“原理 + 实操 + 规范”,帮助在高并发场景下正确用锁、控风险、稳性能。
2026-04-01 16:00:41
523
原创 MySQL 高性能实战与底层原理
文章以面试高频问题串起 MySQL 性能体系:从 ORDER BY 的索引排序与 filesort、深分页优化到批量写入与索引权衡,再延伸到 SQL 执行链路和 Binlog CDC 同步架构,形成覆盖读写优化、底层原理与工程落地的完整方法。
2026-04-01 15:56:34
392
原创 MySQL 索引深度解析:从底层结构到实战优化
这篇文章系统拆解了 MySQL 索引与存储引擎的核心原理,从 InnoDB/MyISAM 差异、聚簇与二级索引、回表、覆盖索引到 ICP 与索引设计实战,形成一套可直接用于面试与生产优化的完整方法。内容强调“原理 + 场景 + 避坑”,帮助你把索引知识真正转化为性能提升能力。
2026-04-01 15:55:15
360
原创 Python并发编程入门:并发与并行、任务类型与 GIL 一次讲清
Python并发编程入门:并发与并行、任务类型与GIL全局解释器锁 本文系统讲解了Python并发编程的基础概念: 并发≠并行:并发是任务交替执行(逻辑同时),并行是真正同时执行(物理同时) 任务分类: I/O密集型(适合threading/asyncio) CPU密集型(需用multiprocessing绕过GIL) GIL机制:CPython的全局解释器锁限制多线程执行字节码,但I/O操作时会释放 实践建议: 多线程适用于网络请求、文件读写等I/O场景 CPU计算任务应使用多进程 解决方案:可通过多进程
2026-03-29 02:28:42
233
原创 构建网络知识体系:从 OSI 模型到用户登录全链路解析
HTTP 是为了连通世界,而 HTTPS 是为了在连通的世界里建立信任。作为后端开发者,我们不仅要让服务‘通’,更要让数据‘信’。通俗定义TCP (Transmission Control Protocol) 是一种面向连接的、可靠的、基于字节流的传输层通信协议。“连接”的本质在网络世界里,并没有一根真实的线连着两台电脑。所谓的“TCP 连接”,其实是通信双方(客户端和服务端)在内存中维护的一组状态信息(如:序列号、窗口大小、超时重传计时器等)。比喻:就像两个人打电话。
2026-03-23 22:57:59
394
原创 Django MVT vs FastAPI DDD架构
Django MVT与FastAPI DDD架构的核心区别在于设计哲学与组件结构。Django采用全功能集成式的MVT(Model-View-Template)模式,内置ORM、模板引擎等组件,适合快速构建全栈应用;而FastAPI基于路由和依赖注入,强调模块化与高性能,默认支持异步和API优先开发,适合微服务和高并发场景。关键差异包括:Django隐式处理依赖(如request对象),FastAPI显式声明依赖注入;Django集中式路由注册,FastAPI采用装饰器直接定义;Django运行时数据验证,
2026-03-16 00:31:49
445
原创 Django的MTV架构
在 Python Web 的江湖里,如果说FastAPI是那个身手敏捷、专攻异步高并发的“忍者”,Flask是灵活多变、需要什么装什么的“瑞士军刀”,那Django绝对就是那个全副武装、自带后勤部的“重装坦克”。官方那句口号(为有最后期限的完美主义者打造的 Web 框架),直到 2026 年依然是真理。Django 就像一个成熟的中年工程师,稳重、全能、经验丰富。它可能没有 FastAPI 那么“极客”和“轻快”,但在构建大型、复杂、需要长期维护的企业级应用时,它的生态完整性和稳定性是无与伦比的。
2026-03-15 23:36:10
461
原创 【Agent开发】第九阶段:RAG 的智能决策与自适应控制 (Intelligent Decision & Adaptive Control)—— 从“被动检索”进化为“主动思考”
本文介绍了在RAG系统中实现智能决策与自适应控制的关键技术——意图识别与语义路由。通过构建基于LLM的轻量级路由网关,系统能够根据用户问题类型自动分流处理,显著提升效率并降低成本。文章详细阐述了路由系统的设计思路,包括意图分类体系(如闲聊、事实查询、操作指南等)及对应的处理策略,并提供了基于LangChain和Pydantic的代码实现方案,展示了如何通过结构化输出来实现精准的问题分类和路由决策。该技术使RAG系统从被动检索进化为主动思考,实现了从"凭感觉调优"到"数据驱动决策
2026-03-09 02:14:57
380
原创 【Agent开发】第八阶段:RAG 自动化评估体系构建 (RAG Evaluation Framework) —— 给你的 RAG 系统发一张“体检报告”
本文介绍了如何为RAG系统构建自动化评估体系,重点讲解了Ragas框架的集成方法。文章基于WSL2+Ubuntu+Docker的云原生开发环境,通过改造现有架构,新增评估适配器模块来实现自动化评估。主要内容包括:Ragas框架的优势(无参考评估、LLM自动打分、全面指标)、系统架构设计(新增评估逻辑文件和数据管道修改)、以及实战代码实现步骤(依赖安装、数据管道改造)。该方案能够将PostgreSQL中的测试数据转化为可视化评估报告,量化HyDE等策略的实际效果,帮助开发者从"凭感觉调优"
2026-03-08 01:37:40
282
原创 【Agent开发】第七阶段:RAG 自动化评估体系构建 (RAG Evaluation Framework) —— 从“凭感觉调优”到“数据驱动决策”
本文介绍了基于PostgreSQL构建RAG自动化评估体系的实践。作者在WSL2+Ubuntu+Docker环境中,通过Docker Compose编排新增了PostgreSQL 16服务,并配置了pgvector等扩展。文章详细说明了PostgreSQL的配置步骤,包括初始化SQL脚本、服务启动验证、应用连接方式以及备份策略。重点突出了PostgreSQL的JSONB类型、混合模型优势及未来趋势,展示了如何将其作为单一数据源支持AI应用的开发。通过这套体系,实现了从"凭感觉调优"到&q
2026-03-07 03:03:10
459
原创 Python 设计模式:从“写代码”到“架构师”的进阶笔记
Python 设计模式实战指南:从基础到进阶 本文通过生动的案例讲解了 Python 中两个核心设计模式的实现与应用: 单例模式 - 确保全局唯一实例 使用装饰器或模块级变量实现 解决了配置管理、数据库连接等场景的需求 注意多线程安全和继承问题 策略模式 - 消除if-else嵌套 利用Python函数作为一等公民的特性 通过字典映射实现支付策略等可替换算法 与工厂模式配合实现更灵活的创建逻辑 文中包含大量可直接复用的代码示例,展示了如何用Pythonic的方式实现经典设计模式,帮助开发者从功能实现迈向架构
2026-03-06 15:13:30
396
原创 [特殊字符] Ubuntu 部署 MySQL + Redis + Nginx + 自动备份 全流程指南
本文提供Ubuntu系统部署MySQL+Redis+Nginx及自动备份的完整指南,包含以下核心内容: 环境准备与Docker安装 更新系统并安装必要依赖 通过官方源安装Docker及Compose插件 配置Docker开机自启 Docker镜像加速配置 设置国内镜像加速地址 解决拉取镜像超时问题 提供网络问题排查方案 项目部署实现 创建标准目录结构 配置docker-compose文件(含MySQL 8.0/Redis 8.0/Nginx) 实现容器健康检查机制 自动备份方案 每4小时执行定时备份 同时备
2026-03-05 14:55:14
400
原创 MySQL8.0数据库数据丢失及解决方案
MySQL8.0数据丢失问题分析与修复 摘要:本文记录了MySQL8.0数据库在WSL2环境下发生的业务库数据丢失事件。通过排查发现,直接原因是MySQL容器启动时检测到数据目录未初始化而自动执行初始化流程,触发条件包括历史清理操作和Docker Desktop/WSL环境下bind mount的不稳定性。解决方案包括将存储从宿主机bind mount切换为Docker命名卷,并实施自动备份机制。修复后验证显示问题已解决,同时评估了Redis、Elasticsearch等其他数据库容器未受影响的原因。文章最
2026-03-04 11:34:05
397
原创 【Agent开发】第六阶段:RAG 深度优化实战 —— 父子索引与上下文窗口优化
特性Recursive (递归)Parent-Child (父子)Sentence (句子级)粒度中等 (200-500 字)子块小 (100-200 字) + 父块大极小 (10-50 字)向量语义完整性⭐⭐⭐⭐ (较好)⭐⭐⭐⭐ (子块较纯净)⭐⭐ (较差,易丢失上下文)关键词匹配精度⭐⭐⭐⭐⭐⭐⭐ (子块密度高)⭐⭐⭐⭐⭐ (极高)LLM 上下文质量⭐⭐⭐⭐⭐⭐⭐⭐⭐ (返回的是大块)⭐ (太碎,LLM 无法推理)最佳适用场景通用文档、博客、文章企业知识库、长文档、复杂推理。
2026-03-02 23:24:46
1006
1
原创 【Agent开发】第五阶段:RAG 深度优化实战 —— 从“可用”到“卓越”
文章摘要 本文介绍了AI Agent开发中RAG(检索增强生成)深度优化的实战方法,重点解决元数据与摘要利用率低的痛点。当前系统存在语义鸿沟、领域混淆和摘要浪费等问题,导致检索效果不佳。 解决方案采用可插拔的检索策略架构,重构rag/pipeline.py为动态组装器,支持多种检索策略组合。技术实现包括: 新增策略模式核心目录和具体检索器插件 配置Elasticsearch搜索引擎环境(Docker部署) 开发Python ES客户端单例连接管理 建立索引映射和初始化机制 优化后系统能充分利用预生成的摘要和
2026-03-01 20:16:44
1086
原创 【Agent开发】第四阶段:RAG 进阶实战 —— 从“能搜到”到“搜得准”
这篇文章介绍了RAG(检索增强生成)技术的进阶优化策略,分为检索前(Offline)和检索后(Online)两个阶段的优化。重点讲解了如何通过智能分块和元数据增强解决长文档语义稀释问题,提升检索精度。主要内容包括: 采用递归字符分块算法(Recursive Character Text Splitter)进行层级切割,保留语义完整性 使用滑动窗口和重叠区技术防止上下文断裂 通过LLM生成假设性问题进行元数据增强,提升检索匹配准确率 提供了实战代码示例,包括文档加载、分块处理、元数据增强等核心功能实现 文章还
2026-03-01 02:47:44
649
原创 【Agent开发】第三阶段:RAG 实战 —— 赋予 Agent “外脑”
本文介绍了在AI Agent开发中为Agent添加RAG(检索增强生成)功能的第三阶段实战。通过Docker Compose部署Milvus向量数据库及其依赖组件(etcd、MinIO),构建知识库系统。文章详细说明了环境配置步骤,包括编写docker-compose.yml文件、设置数据持久化、网络整合以及启动策略。同时提供了Attu图形化管理工具的部署方法,并解释了Milvus的核心架构和数据流原理。最后给出了一键启停Milvus服务的快捷命令,为后续知识库构建和Agent集成打下基础。
2026-02-28 16:22:08
684
原创 【Agent开发】第二阶段:赋予 Agent “海马体” —— 持久化记忆与断点续聊
文章摘要: 本文介绍了如何为AI Agent添加持久化记忆功能,实现会话的断点续聊。通过LangGraph框架的Checkpointer机制,可将对话状态自动保存到数据库,下次运行时通过thread_id恢复上下文。文章详细演示了使用MemorySaver实现本地内存存储的步骤,包括引入检查点模块、修改编译配置和运行时传入thread_id等关键代码实现。同时预留了切换到Redis存储的接口,为后续扩展提供了便利。该功能使Agent具备类似"海马体"的记忆能力,大幅提升了对话连贯性。
2026-02-27 23:40:51
551
原创 分布式任务调度 —— 用 Celery + Playwright 构建高并发爬虫集群
本文介绍了使用Celery和Playwright构建高并发分布式爬虫集群的方法。通过Redis作为消息队列,实现了生产者-消费者模型的任务调度系统。文章详细讲解了环境搭建步骤,包括安装依赖、配置Celery、编写Playwright任务以及启动服务。重点说明了如何将异步Playwright操作封装为Celery同步任务,并提供了任务监控和结果查询的方法。在架构设计方面,系统支持水平扩展和自动容错机制,通过多Worker实例提高并发处理能力,利用自动重试功能保证任务可靠性。最后给出了资源控制、登录态管理和结果
2026-02-27 17:54:10
1212
1
原创 持久化登录态 —— Cookie 与 Storage 复用
本文介绍了如何通过Playwright实现持久化登录态,解决自动化脚本频繁扫码登录的问题。核心方法是利用Playwright的storageState机制保存和复用Cookies与LocalStorage数据。具体步骤包括:1)首次登录时手动扫码并保存登录状态到文件;2)后续运行时直接加载保存的状态文件,实现自动登录。这种方法可有效绕过B站等网站的重复扫码和滑块验证,使爬虫脚本保持登录状态。文中提供了完整的Python代码示例,包括状态保存和加载的实现细节。
2026-02-27 17:50:35
364
原创 请求拦截与响应伪造 —— Route API 与 事件监听机制
本文介绍了利用Playwright的Route API拦截和伪造请求的方法,绕过前端直接获取B站搜索JSON数据的技术。相比传统HTML解析方式,该方法具有直接获取JSON、数据完整、字段稳定、速度快等优势。文章详细演示了如何创建本地测试服务器和编写Playwright拦截脚本,并分析了B站搜索API的结构。通过拦截API请求,开发者可以更高效地获取稳定的后端数据,避免前端渲染带来的各种问题,实现3-5倍的性能提升。
2026-02-27 11:09:51
730
原创 【Agent开发】第一阶段:基石构建 —— 容器化交互与 Prompt 工程
本文介绍了在Docker环境中构建基础AI Agent的开发流程。首先强调理解底层数据流的重要性,提出Agent本质是一个包含观察、思考、行动、结果的循环过程。详细说明了Docker网络配置要点,包括服务名作为内部域名的使用方式。提供了虚拟环境配置指南,推荐使用pyproject.toml管理依赖。实战部分展示了如何定义工具集(如获取日期时间函数)并与LLM交互,通过纯Python实现一个能调用本地工具的微型Agent。整个开发过程基于WSL2+Ubuntu+Docker环境,采用容器化部署方式。
2026-02-27 00:38:03
1008
原创 [特殊字符] playwright实战:动态内容处理 —— 分页、无限滚动与懒加载
本文介绍了使用Playwright处理动态内容的实战技巧,重点解决无限滚动、分页爬取和懒加载场景。核心内容包括: 无限滚动处理方案: 通过滚动前后对比元素数量判断新内容加载 封装通用函数scroll_to_load()实现智能滚动 解决小红书DOM节点替换而非追加的特殊情况 实战优化策略: 基于唯一ID去重累计数据 实时采集避免内容丢失 模拟自然滚动降低反爬风险 增加容错机制提升稳定性 完整代码示例: 提供小红书首页爬取的完整实现 包含登录弹窗处理等细节 演示数据采集与去重方法 该方案可扩展应用于微博、抖音
2026-02-26 10:43:49
747
原创 WSL2 + Ubuntu 24.04 + Docker Desktop 配置双内核环境
本文介绍了在Windows系统上配置WSL2+Ubuntu 24.04+Docker Desktop开发环境的详细步骤。首先讲解了自动和手动安装Ubuntu 24.04的方法,包括内核版本更新技巧。随后详细说明了如何将Ubuntu系统从C盘迁移到D盘的操作流程。最后重点介绍了Docker Desktop的安装与配置优势,特别是其对GPU直通和WSL集成的良好支持,并提供了MySQL数据库迁移的注意事项。整个过程涵盖了从系统安装到开发环境配置的完整链路,适合需要搭建AI开发环境的用户参考。
2026-02-26 02:00:36
1030
原创 从零构建高匿 Playwright 爬虫:三层架构、反检测配置与指纹绕过实战
目标:彻底告别 time.sleep() 和“元素找不到”错误,掌握 Playwright 的自动等待机制和 locator 系统,实现可靠、高效、可维护的数据提取。我们的目标是让 Playwright “看起来不像 bot”,从而降低触发率。Playwright 官方提供了一个便捷方式:使用 launch_persistent_context(但一般爬虫不推荐,因状态难控)。💡 优势:即使前端改了 class 名(如 .btn-primary → .new-btn),只要文字不变,脚本依然有效!
2026-02-25 16:39:41
2335
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅