力扣讨论区数据采集工具产品系统

我要开发同款
python爬虫2026年09月16日
10阅读

技术信息

语言技术
Python
系统类型
Windows
行业分类
开发工具

作品详情

行业场景

算法题库讨论数据整理与学习研究场景。用于批量采集力扣讨论区帖子和评论数据,供刷题分析、社区内容研究、技术话题热度追踪等用途,帮助用户快速获取公开讨论数据。

功能介绍

本工具是一款力扣讨论区数据采集软件,主要功能模块包括:帖子采集、评论采集、批量评论模式、单帖评论模式、字段自定义、自动翻页、请求速度调节、数据导出。

帖子采集支持按关键词搜索、按页码范围采集,可勾选标题、发布者、发布日期、点赞数、评论数、浏览量、链接、摘要、收藏数、参与人数、IP属地、标签、关联题目等字段。

评论采集支持两种模式:批量采集(对已采帖子逐一抓评论)和单帖采集(直接填帖子ID或链接)。支持每帖评论数上限设置(10/20/50/100/全部/自定义),超过 10 条自动翻页。

三种请求速度档位(安全/正常/快速),对应不同的并发数和翻页间隔,方便在采集速度与稳定性之间取舍。

数据导出支持 CSV(UTF-8 BOM 防乱码)、Excel、JSON 三种格式。日志自动存档到本地 logs 文件夹,方便问题排查。

项目实现

1. 负责接口分析与 GraphQL 调试:通过浏览器 F12 定位力扣讨论区接口,确认是 GraphQL 而非普通 REST 接口,分析 query 结构、variables 参数、operationName。确认帖子接口用 pageNum 翻页,评论接口用 skip/first 翻页。

2. 负责请求模块与认证:从 Cookie 中提取 csrftoken,构造请求头(content-type、Origin、Referer、x-csrftoken)。封装带重试的请求函数,失败自动重试 3 次,间隔 2 秒,超时 30 秒。

3. 负责并发采集与数据去重:帖子采集用 ThreadPoolExecutor 并发 4 个线程,评论批量采集并发 3 个线程。用 topicId 做去重,多线程写入加锁保护。GUI 与后台线程通过 queue.Queue 通信,避免界面卡死。

4. 负责字段解析、导出与打包:从 GraphQL 返回的嵌套 JSON 中提取字段(作者优先取 realName、其次 username;点赞数从 reactionsV2 数组取 count),支持用户勾选字段。导出 CSV/Excel/JSON,日志自动存档。用 PyInstaller 打包成 exe,无 Python 环境的用户可直接运行。

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论