算法题库讨论数据整理与学习研究场景。用于批量采集力扣讨论区帖子和评论数据,供刷题分析、社区内容研究、技术话题热度追踪等用途,帮助用户快速获取公开讨论数据。
点击空白处退出提示
算法题库讨论数据整理与学习研究场景。用于批量采集力扣讨论区帖子和评论数据,供刷题分析、社区内容研究、技术话题热度追踪等用途,帮助用户快速获取公开讨论数据。
本工具是一款力扣讨论区数据采集软件,主要功能模块包括:帖子采集、评论采集、批量评论模式、单帖评论模式、字段自定义、自动翻页、请求速度调节、数据导出。
帖子采集支持按关键词搜索、按页码范围采集,可勾选标题、发布者、发布日期、点赞数、评论数、浏览量、链接、摘要、收藏数、参与人数、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 环境的用户可直接运行。




评论