☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜
可自动提取知乎直答问题标题并构建标准化ai编程调试知识库:先用js脚本抓取标题,再经python去重清洗、人工过滤噪声词,最后按技术栈分类、标注错误类型、统一为动宾结构标题。
你想把知乎直答里搜到的ai编程调试问题自动归类、去重、提炼成可复用的标题库,方便后续快速检索或构建知识图谱,而不是手动复制粘贴再逐条整理。
抓取知乎直答原始问题文本
打开知乎直答网页版,输入关键词如“Python TypeError list index”或“LangChain memory not working”,点击搜索→滚动到底部加载全部结果→按 Ctrl+Shift+I(Windows)或 Cmd+Option+I(Mac)唤出开发者工具→切换到 Console 标签页→粘贴并执行这段脚本:
Array.from(document.querySelectorAll('div[data-zhihu="search-result-item"]')).map(el => el.querySelector('h3, h4')?.innerText?.trim()).filter(Boolean)
这行代码会提取当前页面所有问题标题,返回一个数组。注意:必须在知乎直答搜索结果页执行,且页面已完整加载;如果返回空数组,说明 selector 失效,需改用 document.querySelectorAll('[data-testid="search-result-item"] h3')。
清洗与标准化问题标题
方法一:用 Python 快速去重+缩写
把上一步得到的数组粘贴进 Python 脚本,运行以下代码:
lines = [x.strip() for x in your_raw_list if x.strip()]
deduped = list(dict.fromkeys(lines))
cleaned = [re.sub(r'[??!!,,。.;;::()()【】\[]"']', ' ', s).replace(' ', ' ').strip() for s in deduped]
方法二:人工辅助过滤高频噪声词
删除含“求大神”“急!”“在线等”“谢谢大佬”的标题——这些不是真实问题表述,而是求助语气词,无法作为知识库标题索引;【保留“报错”“不生效”“如何实现”“为什么”等动词/疑问结构】,它们指向明确的技术意图。
知乎数据获取 - 极简设计,支持三级认证降级(Browser Profile → File Cookie → Fallback),确保数据可靠获取 Zhihu Data Fetcher - Minimalist design with three-level auth fallback (Browser Prof...
按技术栈+错误类型分组归类
第一步:识别编程语言或框架关键词
扫描 cleaned 列表,用正则匹配常见标识:r'python|py$|django|flask|fastapi' → 归入「Python 生态」;r'typescript|ts$|react|vue|next.js' → 归入「前端 JS 生态」;r'langchain|llamaindex|ollama|vllm' → 单独建「AI 工具链」分类。
第二步:标注错误性质
对每个标题做最小粒度判断:是语法错误(SyntaxError)、运行时异常(如 KeyError、IndexError)、逻辑错误(结果不对但无报错)、配置错误(env、yaml、config.json 写错)、还是 API 使用错误(参数传错、版本不兼容)。例如:“LangChain memory 不保存”属于「AI 工具链 → 配置错误」;“React useState 更新不触发 re-render”属于「前端 JS 生态 → API 使用错误」。
第三步:统一动词开头格式
把“怎么解决XXX”“XXX报错怎么办”“有没有人遇到XXX”全部改写为动宾结构:如“修复 LangChain ConversationBufferMemory 未持久化问题”“避免 React useState 异步更新状态丢失”。【标题必须以动词开头,且不含问号和语气词】,否则无法被向量检索模型准确匹配。










