- 博客(16)
- 收藏
- 关注
原创 从失效到重生:我的多平台热榜数据爬取项目迭代记--【快手】
摘要: 当快手热榜爬虫因接口升级失效时,作者通过三天技术攻坚修复并重构了项目,现支持七大平台热榜数据抓取。核心难点在于破解快手新增的动态加密签名,通过逆向分析实现数据解析。重构后采用模块化设计,统一数据存储(MongoDB),并加入异常处理与分布式调度。未来计划开放API服务并开发可视化看板,以应对持续变化的反爬策略,提升数据价值。
2025-07-25 15:44:59
398
原创 从失效到重生:我的多平台热榜数据爬取项目迭代记--【小红书】
技术团队成功应对小红书热榜接口升级,重构多平台爬虫系统 技术团队维护的小红书热榜爬虫因接口升级导致数据抓取失败,触发紧急修复。经过三天的技术攻坚,团队不仅恢复了数据采集,还重构了整个项目架构,使其支持百度、B站、知乎、快手、抖音、视频号等七大平台的热榜数据抓取。 此次升级中,小红书采用了动态加密签名、自定义数据编码和行为验证码等反爬机制。团队通过逆向分析重写核心代码,优化请求头、解析逻辑及存储方式,并引入模块化设计、统一数据模型和分布式调度,提升系统稳定性和扩展性。 未来计划包括开放API服务和搭建数据可视
2025-07-25 15:39:57
544
原创 从失效到重生:我的多平台热榜数据爬取项目迭代记--【微博】
摘要:作者分享了一个微博热榜爬虫项目的重构经历。当微博接口突然升级导致爬虫失效后,通过逆向分析新接口的加密签名机制,成功修复并重构了整个项目架构。新版本支持七大平台热榜数据抓取,采用模块化设计、统一数据模型和分布式调度,并计划开发API服务和数据可视化功能。文章展示了爬虫开发的技术挑战与应对策略,体现了持续学习对于应对平台反爬机制的重要性。
2025-07-25 15:36:22
503
原创 从失效到重生:我的多平台热榜数据爬取项目迭代记--【知乎】
摘要:面对知乎热榜接口升级导致爬虫失效,作者通过技术攻坚重构了项目架构,成功修复并扩展支持七大平台热榜数据抓取。文章分享了逆向分析过程和重构后的核心代码,实现了模块化设计、统一数据模型和分布式调度等改进。目前系统每小时稳定抓取各平台热榜数据,未来计划开发API服务和数据可视化功能。该项目展示了爬虫开发应对平台反爬策略的技术实践与思考。(150字)
2025-07-25 15:33:40
340
原创 从失效到重生:我的多平台热榜数据爬取项目迭代记--【百度】
本文分享了爬虫项目遭遇百度热榜接口升级后的技术攻坚与架构重构过程。面对接口改版(加密签名、数据格式变更等),作者通过逆向分析实现了新接口的稳定抓取,并借机重构了整个项目架构,使其支持七大平台热榜数据的模块化采集。重构后系统具备统一数据模型、分布式调度、异常处理等特性,数据存储升级为MongoDB。文章还透露了未来将开发API服务和数据可视化看板的规划,强调持续学习逆向工程技术对应对平台反爬策略的重要性。
2025-07-25 15:30:27
500
1
原创 ! MySQL中的 8 种锁 !
MySQL锁机制是保障高并发场景下数据一致性的核心技术。文章系统介绍了8种MySQL锁:按粒度分为表锁、页锁和行锁;按模式分为共享锁、排他锁等。重点解析了行级锁(记录锁、间隙锁、临键锁)的实现原理和应用场景,以及表级锁和元数据锁的作用。针对死锁问题,提供了检测和解决方案。文章还给出锁优化口诀:事务要快、锁粒度要小、避免大事务,并强调索引优化对减少锁冲突的重要性。最后指出最高明的锁策略是"无锁",需要在保护数据一致性和提高并发度之间找到平衡。
2025-07-21 09:36:17
1164
原创 Radis常见命令
BASE事务模型强调的是数据的可用性和分布式特性,它允许在一定程度上牺牲一致性,以提高系统的可用性和扩展性。隔离性:指的是在并发环境中,当不同的事务同时操纵相同的数据时,每个事务都有各自的完整数据空间。事务查看数据更新时,数据所处的状态要么是另一事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看到中间状态的数据。一致性:事务的一致性指的是在一个事务执行之前和执行之后数据库都必须处于一致性状态。最终一致性:强调系统中所有数据副本,在经过一段时间的同步后,最终能够达到一个一致的状态。
2025-01-30 18:17:37
557
原创 BSD协议
BSD协议是一种非常宽松且商业友好的开源软件许可证。它赋予了使用者极大的自由度,使得开发者可以更加自由地运用已有的代码并进行修改和创新。同时,BSD协议也保留了版权保护,以确保代码作者的权益得到尊重。由于其开放性和灵活性,BSD协议在开源社区中获得了广泛的认可和应用。
2025-01-13 10:15:46
886
原创 Hadoop--基础指令以及示意
当某个datanode关闭时,不会影响数据的可用性,namenode将安排由其他datanode管理的块进行副本复制。·NameNode仅储存HDFS的元数据:文件系统中所有文件的目录树,并跟踪整个集群中的文件,不存储实际数据。·datanode的数量决定了HDFS集群的整体数据 存储能力,通过和namenode配合维护着数据块。·DataNode负责最终数据块block的存储,是集群的从角色,也称slave。·datanode是hadoop HDFS中的从角色,负责具体的数据块存储。
2025-01-10 16:04:59
1187
原创 YARN--为什么YARN江湖地位不倒?!。
Hadoop能有今天这个地位,YARN可以说功不可没,因为有了YARN,更多计算阔加可以接入到HDFS中,而不单单是MapReduce,正是因为YARN的包容,使得其他计算框架能专注于计算性能的提升。可以把Hadoop YARN理解为相当于一个分布式操作系统平台,二MapReduce等计算程序则相当于运行于操作系统之上的应用程,YARN为这些程序提供运算所需的资源(内存,CPU等)。YARN不关心你干什么,只关心你要资源,在有的情况下给你,用完之后还给我。台,可为上层应用提供统一的资源管理和调度。
2025-01-10 15:54:32
293
原创 Python中的“global“关键字的使用
在Python中,当定义了一个全局变量时,在封装后无法对该变量进行赋值。这是因为Python会认为这个变量时局部变量而不是全局变量。所以在函数内部使用该变量前,申明global改变这种默认行为。在money前加global,申明money为局部变量。此时money会报错。
2024-09-09 19:51:24
425
原创 【如何判断动作事件是否由按钮引发】基于Java-GUI
Java中 Swing 包中的 setActionCommand(String ActionCommand)给一个JButton设置属性,通过设定的ActionCommand来判断是哪个按钮触发事件监听。在刚刚写GUI的时候,我突然想到怎样去判断某一个事件源是由哪一个监听器响应的,所以我来整理后编写这次总结。如果按钮创建和判断方法在一个类种。
2024-07-04 19:28:25
475
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅