MQTT在工业物联网中的四大不适场景与选型框架
1. 为什么我要给MQTT泼一盆冷水三年前我第一次把MQTT协议部署到一条真实的产线环境里。当时团队里几乎所有人都觉得这是“天选方案”——轻量、发布订阅、支持断线重连、社区生态成熟怎么看都像是为工业物联网量身定做的。那会儿我们刚把一条老旧的装配线做数字化改造现场有三十多台设备需要把运行状态、报警信号、工艺参数实时回传到一个监控看板上。选型会上MQTT几乎是全票通过理由也很简单HTTP轮询太重OPC UA的栈太复杂Modbus TCP又只能点对点而MQTT的发布订阅模型天然适合“多设备、多主题、一对多分发”的场景。头半年确实跑得很顺。设备端用轻量级的客户端库Broker部署在一台工控机上主题设计按“厂区/产线/设备类型/设备编号/指标”五层来划分QoS统一用1保留消息用来存最新状态。看板刷新延迟基本在200毫秒以内断网重连也能在几秒内恢复。那段时间我甚至写了一份内部文档标题就叫《MQTT在工业场景的最佳实践》现在回头看那份文档里至少有三处结论是过于乐观的。问题是从第二年开始陆续暴露的。先是某条产线上的AGV调度系统出现了消息乱序导致两台小车在同一个路口抢道接着是压铸车间的高频振动监测数据出现了大面积丢包事后排查发现是Broker的消息队列在高峰期被撑爆了再后来是跟第三方MES系统对接时对方明确表示他们的网关不支持MQTT的某些特性只能走HTTP回调。每一次出问题我都得重新审视一遍当初的选型逻辑。这篇文章不是要否定MQTT。恰恰相反我到现在依然认为它是工业物联网里最值得优先考虑的通信协议之一。但“最值得优先考虑”不等于“万能”。我想把这三年里踩过的坑、做过的妥协、以及最终形成的判断标准完整地写出来重点讲清楚四个我亲测下来MQTT确实不合适的场景。如果你正在做类似的技术选型或者已经在用MQTT但总觉得哪里别扭这些经验应该能帮你省下不少返工的时间。2. 场景一毫秒级硬实时控制回路2.1 问题是怎么暴露出来的我们有一条高速冲压线节拍要求是每分钟120次换算下来每个冲压周期只有500毫秒。其中从传感器检测到料片到位到发出冲压指令中间留给通信的时间窗口不超过30毫秒。最初我们想当然地认为MQTT的QoS 1能保证消息送达延迟应该可控。实测下来在局域网环境下端到端的P99延迟大概在15到25毫秒之间波动看起来勉强够用。但问题在于这个延迟不是稳定的——当Broker同时处理其他主题的消息时冲压指令的延迟会突然跳到80毫秒以上直接导致冲压时机错位废品率飙升。我后来用Wireshark抓了整整一周的包才把根因定位清楚。MQTT的发布订阅模型决定了消息必须经过Broker中转这个中转过程涉及TCP连接管理、主题匹配、QoS状态机维护、以及消息队列的排队和出队。每一个环节都会引入不确定的延迟。更关键的是MQTT协议本身没有优先级机制——所有主题的消息在Broker眼里是平等的先到先处理。当振动监测主题每秒推送上千条数据时冲压指令主题的消息就只能排在后面等着。2.2 为什么MQTT在这个场景下天然吃亏这里需要拆解一下MQTT的协议设计。MQTT over TCP而TCP本身是一个面向字节流的可靠传输协议它的重传机制、拥塞控制、滑动窗口都会引入延迟抖动。虽然MQTT有QoS 0模式可以跳过确认机制但QoS 0只保证“尽力而为”不保证送达在工业控制场景下这是不可接受的。而一旦启用QoS 1或QoS 2就必须维护消息ID、等待PUBACK或PUBREC/PUBREL/PUBCOMP握手这些握手过程在Broker负载高的时候会显著拉长延迟。另一个容易被忽略的点是主题匹配的开销。MQTT Broker需要为每条发布的消息匹配所有订阅了该主题的客户端。如果主题树设计得比较深、通配符用得比较多匹配过程就会消耗额外的CPU时间。我们在冲压线场景下用了“厂区/产线/设备/指标”四层主题其中“产线”层级用了通配符来支持动态产线切换结果就是每次消息发布都要遍历一遍订阅树。后来我把主题扁平化成两层延迟抖动确实小了一些但依然达不到硬实时的要求。2.3 替代方案与取舍逻辑最终我们在这条冲压线上换回了传统的现场总线方案用EtherCAT做控制指令的传输MQTT只用来回传非实时的状态数据。EtherCAT的循环周期可以稳定在1毫秒以内抖动在微秒级这才是硬实时控制该有的样子。当然EtherCAT的代价是布线成本高、灵活性差而且需要专用的主站芯片。但对于冲压这种对时序要求极高的场景稳定性比灵活性重要得多。如果你也在做类似的控制回路我的建议是先明确你的时间窗口到底有多宽。如果端到端延迟要求低于50毫秒并且对抖动敏感那就不要考虑MQTT。如果延迟要求在100毫秒以上且允许一定程度的抖动MQTT可以胜任。中间地带需要做详细的压力测试不能只看实验室数据。注意很多MQTT Broker的官方文档里会写“支持毫秒级延迟”但这个“毫秒级”通常指的是空载情况下的最佳值不是工业场景下的保证值。选型时一定要看P99甚至P999延迟而不是平均值。3. 场景二高频振动与波形数据的持续回传3.1 数据量算一笔账压铸车间那套振动监测系统是我们踩的第二个大坑。现场有12个测点每个测点用一个三轴加速度计采样率是10kHz每个采样点16位精度。算一下原始数据量12测点 × 3轴 × 10000采样/秒 × 2字节 720KB/s。这还只是原始数据如果要做FFT分析数据量会更大。我们当时的方案是让边缘网关先做简单的时域特征提取只把RMS、峰值、峭度这些统计量通过MQTT发出去数据量降到了每测点每秒一条消息看起来完全可行。但问题出在“事件触发”模式上。当振动幅值超过阈值时系统需要把前后各2秒的原始波形完整回传用于事后分析。2秒的原始波形单测点单轴就是40KB三轴就是120KB。12个测点如果同时触发就是1.44MB的突发数据量。MQTT的消息体大小理论上没有硬性限制但实际使用中大多数Broker的默认最大消息长度是256KB或1MB超过这个限制的消息会被直接拒绝或断开连接。3.2 MQTT在大消息传输上的结构性缺陷即使把消息拆分成多个小包发送MQTT也不是为高吞吐场景设计的。它的QoS机制要求每条消息都要有确认这意味着发送端必须等待接收端的PUBACK才能发送下一条在QoS 1且窗口为1的情况下。虽然有些客户端库支持多消息并发但Broker端的处理能力才是真正的瓶颈。我们用的那款开源Broker在单节点情况下消息吞吐量大概在每秒5000到8000条之间每条消息平均1KB的话也就是5到8MB/s。这个数字看起来还行但那是理想情况下的峰值实际运行中还要处理订阅管理、会话保持、保留消息存储等开销。更麻烦的是MQTT的消息是顺序处理的。当大量波形数据消息涌入时Broker的消息队列会迅速堆积导致其他主题的消息也被阻塞。我们当时就遇到了这个问题振动数据回传期间设备的报警消息延迟了将近10秒才到达看板。这在安全监控场景下是不可接受的。3.3 我们最终怎么解决的最后的方案是分而治之。实时统计量继续走MQTT因为数据量小、频率低完全没问题。原始波形数据则走另一条通道边缘网关把波形文件写到本地共享目录然后通过MQTT发一条“文件就绪”的通知消息消息体里只包含文件路径和校验和。后端服务收到通知后通过文件共享协议去拉取文件。这样既利用了MQTT的轻量通知能力又避开了它在大数据传输上的短板。这个方案的关键在于文件共享通道的选择。我们试过NFS、SMB、以及基于HTTP的文件服务最后选了HTTP因为它的穿透性好、权限控制简单、而且可以复用现有的反向代理基础设施。文件校验和用SHA256确保传输完整性。整个流程的端到端延迟在秒级对于事后分析来说完全够用。对比维度MQTT直接传波形MQTT通知文件通道单次传输数据量受Broker限制通常1MB无硬性限制对Broker的冲击大可能阻塞其他主题小仅传递元数据端到端延迟不确定可能秒级到分钟级稳定在秒级实现复杂度低中等需要额外文件服务适合场景小数据量、低频次大数据量、突发传输提示如果你的场景里单条消息超过100KB或者每秒消息总量超过Broker吞吐能力的50%就应该考虑把大数据剥离出去MQTT只做信令通道。4. 场景三需要严格消息顺序的协同控制4.1 AGV抢道事件的完整复盘那起AGV抢道事件发生在凌晨两点当时产线上只有两辆AGV在运行。按照调度逻辑A车先通过路口B车等待。但实际结果是两辆车几乎同时进入路口触发了急停。事后查日志发现A车的“通过路口”消息和B车的“进入路口”消息在Broker端的到达顺序与发送顺序相反。A车在t1时刻发送了“已通过”B车在t2时刻发送了“请求进入”t1 t2但Broker先处理了B车的消息。根因在于MQTT的QoS 1机制。QoS 1只保证消息至少送达一次但不保证顺序。当A车和B车使用不同的TCP连接发布消息时这两条消息在Broker端是完全独立的Broker没有义务按照发送时间排序。即使A车和B车使用同一个连接如果中间发生了重传后发的消息也可能先到达。MQTT 5.0引入了“消息过期”和“主题别名”等特性但依然没有提供跨客户端的全局顺序保证。4.2 为什么顺序保证在分布式场景下这么难这里涉及一个分布式系统的基本问题全局有序时钟。在单机环境下我们可以用一个单调递增的序列号来保证顺序。但在分布式环境下每个客户端有自己的时钟网络延迟又不确定要保证全局顺序就必须引入一个中心化的排序服务。MQTT Broker本身可以充当这个角色但前提是所有消息都走同一个连接并且Broker严格按照接收顺序处理。一旦涉及多个连接、多个QoS级别、以及重传机制顺序就无法保证了。有些Broker实现提供了“有序主题”或“单消费者队列”的扩展功能但这通常是以牺牲吞吐量为代价的。而且这些扩展不是MQTT标准的一部分换一个Broker就可能不支持。在工业场景下这种厂商锁定是需要警惕的。4.3 协同控制场景的替代思路对于AGV调度这类需要严格顺序的场景我们后来改用了基于共享内存或Redis的有序队列。具体做法是每辆AGV把状态变更写入一个中心化的有序列表调度服务按顺序读取并做出决策。这个方案的本质是把“顺序保证”的责任从通信层转移到了应用层用中心化的数据结构来强制排序。另一种思路是使用支持全序广播的协议比如某些基于Raft或Paxos的共识算法实现。但这些方案的复杂度高、延迟大对于AGV调度这种秒级响应的场景来说有点杀鸡用牛刀。最终我们选择了Redis的有序集合配合Lua脚本做原子性的读取和决策实测下来延迟在10毫秒以内顺序完全可靠。方案顺序保证延迟复杂度适用场景MQTT QoS 1不保证低低非协同类状态上报MQTT QoS 2不保证跨客户端顺序中低单客户端内有序Redis有序队列严格保证低中协同控制、调度共识算法严格保证高高跨机房、高可用注意MQTT QoS 2经常被误解为“保证顺序”实际上它只保证消息不重复、不丢失顺序依然不保证。这一点在官方规范里有明确说明但很多开发者会忽略。5. 场景四与老旧工业系统的协议对接5.1 第三方MES网关的“不支持”清单第三个年头我们开始做MES系统对接。对方是一家老牌工业软件厂商他们的网关产品支持OPC UA、Modbus TCP、以及HTTP回调但明确表示不支持MQTT。理由也很直接他们的网关是基于请求-响应模型设计的而MQTT是发布-订阅模型两者的编程范式不兼容。如果要支持MQTT他们需要重写整个通信层成本太高。这还不是最麻烦的。有些老旧PLC的通信模块只支持串口或现场总线连以太网都没有。要接入MQTT必须先加一个协议转换网关把Modbus RTU转成MQTT。这个转换过程本身就会引入延迟和故障点。我们现场有一台1998年出厂的注塑机它的控制器只有一个RS-232接口波特率最高19200。我们用一个串口服务器把它转成以太网再用一个边缘计算盒子做Modbus到MQTT的映射。整个链路下来从注塑机产生数据到MQTT消息发出延迟在200毫秒左右而且串口服务器偶尔会死机需要定期重启。5.2 协议转换的隐性成本协议转换不仅仅是“翻译”这么简单。Modbus的寄存器地址是扁平化的而MQTT的主题是层次化的。把寄存器地址映射到主题需要设计一套命名规则。我们当时用了“设备类型/设备编号/寄存器地址”的三层结构但很快就发现寄存器地址会随着设备固件升级而变化导致主题需要频繁调整。后来改成用语义化的指标名称比如“注塑机/1号机/料筒温度”但这就需要维护一张映射表增加了运维负担。另一个隐性成本是数据类型转换。Modbus的寄存器是16位的而MQTT的消息体通常是JSON或CBOR。把16位整数转成JSON数字再在接收端转回来看似简单但涉及到字节序、有符号/无符号、以及浮点数的精度问题。我们曾经因为一个温度值的字节序搞反了导致监控看板上显示的温度是实际值的256倍差点触发误报警。5.3 混合架构下的主题设计经验在混合架构下主题设计需要额外考虑兼容性。我的经验是不要试图把老旧设备的寄存器地址直接映射到主题而是先做一层抽象定义一套与设备无关的语义模型。比如不管底层是Modbus还是OPC UA统一用“设备ID/指标名称”来发布消息。这样上层应用不需要关心底层协议只需要订阅语义主题即可。具体实现上我们在边缘网关里维护了一张映射表把每个设备的寄存器地址映射到语义指标。映射表用YAML配置支持热加载。当设备固件升级导致寄存器地址变化时只需要更新YAML文件不需要改动上层应用。这个设计后来被证明非常实用至少省下了三次因为寄存器地址变更而导致的紧急发版。映射方式优点缺点适用场景寄存器地址直映射实现简单地址变更需改主题设备固件稳定语义化映射上层解耦需维护映射表多协议混合动态发现自动化程度高实现复杂设备频繁增减提示如果你的现场有超过三种不同年代的设备建议一开始就上语义化映射不要图省事直接映射寄存器地址。后期改起来的成本远高于前期多花的那点设计时间。6. 三年下来我形成的选型判断框架6.1 一张表判断你的场景适不适合MQTT经过这三年的折腾我总结了一个简单的判断框架。每次有新项目要选通信协议时我会先问四个问题延迟要求是多少单条消息多大需要跨客户端顺序保证吗对端系统支持MQTT吗这四个问题的答案基本就能决定MQTT是否合适。判断维度适合MQTT不适合MQTT边界情况端到端延迟要求100ms50ms50-100ms需压测单条消息大小100KB1MB100KB-1MB需拆分跨客户端顺序不需要严格需要单客户端内有序可接受对端协议支持原生支持MQTT仅支持请求-响应可通过网关转换这个框架不是绝对的但能帮你快速排除明显不合适的场景。比如冲压线控制延迟要求30ms直接排除。振动波形回传单条消息1MB直接排除。AGV调度需要跨客户端顺序直接排除。老旧MES对接对端不支持需要评估网关成本。6.2 那些MQTT依然是最优解的场景说了这么多“不适合”也得说说MQTT在哪些场景下依然是我的首选。设备状态监控、报警推送、远程配置下发、固件升级通知、以及低频次的传感器数据采集这些场景MQTT都表现得很好。它的轻量级客户端可以在资源受限的嵌入式设备上运行发布订阅模型天然支持一对多分发保留消息和遗嘱消息机制也能很好地处理设备离线场景。我们有一条包装线上面有二十多个光电传感器和气缸位置开关每个设备每秒产生一条状态消息数据量很小延迟要求也不高。这个场景用MQTT就非常合适部署简单、维护成本低、扩展性也好。后来增加新设备时只需要在主题树里加一个分支看板端订阅新主题即可完全不需要改动现有逻辑。6.3 混合架构才是工业现场的常态三年下来最大的体会是工业现场不存在“一种协议打天下”的方案。我们的产线上现在同时跑着EtherCAT、Modbus TCP、OPC UA、MQTT、以及HTTP。每种协议都有它最适合的层级EtherCAT做硬实时控制Modbus TCP做设备层数据采集OPC UA做车间级信息模型MQTT做云端和看板的数据分发HTTP做文件传输和第三方对接。关键是要清楚每种协议的边界在哪里不要让一种协议去干它不擅长的事。MQTT在它的舒适区里非常出色但一旦越界问题就会接踵而至。我见过太多项目因为“全栈MQTT”的执念而陷入困境最后不得不做大规模的架构重构。与其事后补救不如一开始就把边界划清楚。注意混合架构的代价是运维复杂度上升。你需要监控多个通信通道的健康状态处理不同协议之间的数据一致性以及培训团队掌握多种技术栈。这个成本在项目初期就要纳入评估。7. 给正在做技术选型的你几条实在建议如果你正在读这篇文章大概率是在做某个工业物联网项目的通信选型。我想分享几条从实际踩坑中总结出来的建议希望能帮你少走弯路。第一条先做压力测试不要信理论值。MQTT Broker的官方文档里写的吞吐量和延迟都是在理想环境下测出来的。你的现场有电磁干扰、网络抖动、设备异构、以及各种意想不到的负载。拿真实的设备和真实的数据量做至少一周的连续压测观察P99延迟和消息丢失率。如果压测结果离你的要求只差一点点那就不要选因为实际运行只会更差。第二条把“顺序保证”和“消息送达”分开考虑。很多人以为QoS 2就万事大吉了其实QoS 2只解决送达问题不解决顺序问题。如果你的业务逻辑依赖消息顺序就必须在应用层做额外的排序机制比如序列号、时间戳、或者中心化队列。不要指望MQTT帮你搞定这件事。第三条大数据走旁路MQTT只做信令。这是我在振动监测项目里学到的最有价值的一课。MQTT最适合传小消息、高频次、一对多的场景。一旦数据量上来了就把它剥离出去用文件通道或流式通道单独处理。MQTT只负责发一个“数据就绪”的通知这样既保持了架构的简洁又避免了Broker过载。第四条主题设计要留余量。我见过太多项目把主题设计得过于具体比如把设备序列号、固件版本、甚至时间戳都编进主题里。结果就是主题树越来越深通配符匹配越来越慢而且一旦设备信息变更主题就得跟着改。我的建议是主题层级不要超过四层只放最稳定的标识信息其他元数据放在消息体里。第五条也是最重要的一条不要因为MQTT流行就选它也不要因为它有局限就否定它。每一种协议都是为特定场景设计的MQTT的设计目标是轻量级、低带宽、高延迟容忍度的物联网通信。它在自己的目标场景里表现得非常优秀但工业现场的需求是多样化的没有任何一种协议能覆盖所有场景。承认这一点然后根据实际需求做组合选型才是靠谱的做法。这三年里我从“MQTT万能论”的信徒变成了“场景匹配论”的实践者。这个转变过程交了不少学费但也让我对工业通信有了更扎实的理解。希望这些经验对你有用。如果你也在工业现场用MQTT欢迎交流你的踩坑经历说不定我们踩的是同一个坑。

相关新闻

OpenClaw与SpringCloud微服务集成:构建企业级AI公共能力层

OpenClaw与SpringCloud微服务集成:构建企业级AI公共能力层

上半年我在做一套带客服语义识别与智能订单辅助处理的微服务系统时,遇到一个被反复提起的问题:业务服务各自封装大模型API调用,有的在Controller里直接用HTTPClient拼参数,有的把密钥写在配置中心里人人可见,还有的服务…

2026/10/11 16:31:43 阅读更多 →
AI智能盒子选型实战:RK3588与Jetson边缘部署避坑指南

AI智能盒子选型实战:RK3588与Jetson边缘部署避坑指南

1. 为什么“AI智能盒子”突然成了硬件圈的高频词?最近在几个开发者论坛和嵌入式技术群聊里,频繁看到有人发截图:某款标着“RK3588Jetson”的小盒子被放在路由器旁边,接上摄像头就跑起了实时目标追踪;还有人用它做本地语…

2026/10/11 16:31:43 阅读更多 →
显示驱动开发:高效阅读芯片与Panel规格书实战指南

显示驱动开发:高效阅读芯片与Panel规格书实战指南

1. 驱动开发的第一道门槛:为什么规格书读不懂就写不出好代码干驱动这行十来年,带过不少新人,我发现一个特别普遍的现象:很多人拿到一块新屏幕或者一颗新芯片,第一反应是打开厂商给的示例代码,改改参数、编译…

2026/10/11 16:31:43 阅读更多 →

最新新闻

1011星里有多少是「真需求」?我给爆火的技能包泼盆冷水

1011星里有多少是「真需求」?我给爆火的技能包泼盆冷水

1011星里有多少是「真需求」?我给爆火的技能包泼盆冷水 【免费下载链接】golive-skill Take your agent-built product live: hosting, database, domain, email, payments — on your own accounts. Open-source Agent Skill zero-dependency Node CLI: detect →…

2026/10/11 18:04:40 阅读更多 →
零售企业“细节标准体系“的观察样本:一位董事长的胖东来研学笔记

零售企业“细节标准体系“的观察样本:一位董事长的胖东来研学笔记

本文基于上海鼎学甄选教育科技有限公司董事长阿甘在稻百年胖东来研学(许昌)课后采访整理,提取其口述中的观察维度与参照系,供零售与连锁企业参考。1. 观察对象:非销售性投入的密度 受访人:阿甘,…

2026/10/11 18:04:40 阅读更多 →
ComfyUI+AnimateDiff+ControlNet:从零搭建可控动画工作流

ComfyUI+AnimateDiff+ControlNet:从零搭建可控动画工作流

简介:面向ComfyUI生态的动画生成实战资源包,围绕AnimateDiff与ControlNet的OpenposeDepth组合,展示从姿态与深度控制到逐帧动画输出的完整链路,适合熟悉Stable Diffusion基础、希望进阶学习可控动画生成的研究者与创作者&#xff…

2026/10/11 18:04:40 阅读更多 →
OpenCV图像处理到深度学习推理:滤波、特征匹配与轮廓分析实战指南

OpenCV图像处理到深度学习推理:滤波、特征匹配与轮廓分析实战指南

简介:面向计算机视觉开发者和入门学员,这份PDF系统梳理了OpenCV从基础图像处理到深度学习集成的完整知识路径。文档以core、imgproc、objdetect等核心模块为线索,具体介绍图像读取与保存、颜色空间转换、几何变换等基础操作;滤波部…

2026/10/11 18:04:40 阅读更多 →
洛雪音乐新手教程:New_lxmusic_source 六音音源 5 个关键步骤,轻松解锁海量曲库

洛雪音乐新手教程:New_lxmusic_source 六音音源 5 个关键步骤,轻松解锁海量曲库

洛雪音乐新手教程:New_lxmusic_source 六音音源 5 个关键步骤,轻松解锁海量曲库 【免费下载链接】New_lxmusic_source 六音音源修复版 项目地址: https://gitcode.com/gh_mirrors/ne/New_lxmusic_source 洛雪音乐(LX Music&#xff09…

2026/10/11 18:04:40 阅读更多 →
VirtualBox与内核隔离冲突?VT-x不可用原因与解决方案全解析

VirtualBox与内核隔离冲突?VT-x不可用原因与解决方案全解析

1. 冲突现象:VirtualBox 在启用内核隔离的机器上一夜之间全军覆没 先说一个很多 Windows 用户都撞见过的场景:某天打开 VirtualBox,双击一个之前跑得好好的虚拟机,结果弹窗提示“This kernel requires an X86-64 CPU, but only de…

2026/10/11 18:03:39 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →