批量删除QQ空间说说脚本实战:Cookie、g_tk与接口调用解析
简介2023年最新版QQ空间说说批量删除插件专为QQ空间重度用户及需要一次性清理历史说说的人群打造适用于新版QQ空间界面解决逐条手动删除效率低下、难以批量管理的问题。资源共3个文件核心为JavaScript自动删除脚本另含Tampermonkey扩展安装包与独立的说说清理工具压缩包仅2.74MB轻量且便于本地部署。脚本支持在个人主页中按条件筛选目标说说自动完成批量删除全程无需人工逐条点击也可通过ESC键随时停止操作过程清晰可控。目前已有1128人学习下载使用者可直接获得脚本代码、扩展安装包及辅助清理工具配合插件说明即可快速上手适合希望高效整理空间动态、具备基本浏览器扩展安装能力的普通用户与办公人群。1. 批量删除QQ空间说说手动删到凌晨不如先做一个删除脚本你有没有过这种时刻打开QQ空间想清理黑历史结果发现十年积累的说说翻了几页就开始手酸手动点删除、点确认删到凌晨还剩大半。最让人绝望的是页面滚动加载慢慢吞吞每删除一条页面可能还会刷新位置鼠标移过去又得重新找按钮。这个标题其实指的就是同一个需求在2023年网页端改动之后怎么通过脚本或插件批量删除自己的QQ空间说说。这篇文章我会把思路、抓包过程、可复现的脚本代码以及常见翻车点全部讲完适合想亲手清理空间、又不想一条条手点的开发者。也提醒一句所有操作只针对自己的账号别拿这套逻辑去处理别人的内容。2. 说说删除的本质先看懂网页端的删除请求与参数校验很多教程一开始就甩一段脚本让你粘贴但一旦接口报错你根本不知道从哪里查。批量删除说说的核心不是写脚本而是搞清楚“删除”这个动作在网页前端到底向后端发送了什么。你只有把这个请求看懂才可能在2023年某个小版本更新后自己重新抓一次包把脚本改到能跑。2.1 为什么不能直接模拟点击页面事件与数据加载的拆解在QQ空间网页版每条说说的删除按钮不是一个普通链接而是绑定了前端事件。你要批量处理常见做法是在控制台里循环调用click()。但很快会发现两个问题第一说说列表是滚动懒加载的DOM里只有当前可视区的几十条后面的内容要等滚动才会请求第二点击删除会先弹出一个确认框确认框的按钮也有自己的异步逻辑直接循环点击经常导致页面状态错乱甚至把一条说说给删成了两遍。所以真正可靠的路子是绕过前端交互直接向后端接口发删除请求。这个思路有点像是“帮浏览器把它想做的事情做完”但更稳定、更快也更好控制频率。我在给某开发者处理类似需求时就是先让他打开浏览器开发者工具手动删一条观察请求然后把请求原样复制成脚本。这个流程放在2023年依然有效因为页面可以改但后端校验模型的整体思路不会变。2.2 从浏览器抓包里挖出删除说说的三个关键要素打开浏览器开发者工具切到 Network 面板勾选 Preserve log在空间里手动删除一条说说然后过滤一个类似“delete”的关键词你会看到一个以taotao.qq.com开头的请求。这个请求实际上就是删除接口常见路径名里会包含emotion_cgi_delete_v6这样的标识。这个请求里最核心的三个要素是第一请求地址和请求方法。它是一个POST请求参数不是放在URL里而是放在表单里这跟你平时看到的GET参数完全不一样。第二Cookie。请求的Cookie里有一个p_skey它是算g_tk的原材料。g_tk是QQ空间接口常用的一个校验参数相当于一个由Cookie派生出来的签名。第三当前页面的qzonetoken。这是页面加载时写进源码的一次性token会在很多接口请求里反复出现。手动删除成功后你可以在请求的表单里找到这三个要素的值。下面这张表是我在2023年实际抓包时会反复确认的字段字段来源作用g_tk由Cookie里的p_skey本地算出接口签名qzonetoken页面源码里的全局变量页面会话标识tid说说列表接口返回每条说说的唯一IDhostUin / uin当前登录QQ号说明是发在哪个空间如果你在抓包里看到比这个多的字段不要慌。删除接口可能还会带cmtNum、comment、source、spcnum这些参数它们大多是从前端状态带过去的有些是必填的有些只是占位。我的习惯是先原样复制一条完整请求再逐步删字段测试确定哪些能省略。这样比对着网上教程背参数靠谱得多。2.3 选型本地脚本 vs 浏览器脚本各管哪个场景我一般把方案分成两条线。如果你要删几百上千条推荐用本地Python脚本直接把列表接口和删除接口串起来效率最高并且可以精确控制请求间隔。如果你只是临时删几十条环境里没有Python那就在浏览器控制台里跑一段JavaScript边滚动边删除不用安装任何东西。两条线的底层请求都是一样的只是载体不同。Python脚本适合“批量、重复、无人值守”浏览器脚本适合“可视化、小批量、马上看到效果”。还有一个折中做法是写成一个浏览器用户脚本比如油猴脚本点击一下就能在页面上自动滚动和删除。但油猴脚本本质上还是在模拟前端事件速度上不如直接发请求而且页面改版时选择器很容易失效。3. 用Python脚本批量删除说说Cookie、g_tk与请求构造全流程这一章我会给你一个能跑的骨架。你不需要完全理解每一个参数但一定要知道它从哪里来、怎么验证。第一步是打开QQ空间随便滚动几下让页面加载一些说说再打开开发者工具从 Network 面板里的任意一个请求里复制当前页面的Cookie。然后把这个Cookie放到脚本里。3.1 准备工作导出Cookie并算出g_tkCookie是一长串类似uin123; p_skeyabc; ...的文本。我们脚本里需要的是p_skey或skey。因为g_tk是用它算出来的。下面这段代码就是求g_tk的常见实现import re def get_g_tk(cookie_str): match re.search(rp_skey([^;]), cookie_str) if not match: match re.search(rskey([^;]), cookie_str) if not match: raise Exception(Cookie里没有p_skey或skey) skey match.group(1) h 5381 for ch in skey: h (h 5) ord(ch) return h 0x7fffffff这个函数不是我的原创它和QQ空间页面里用的getGtk算法一致。把skey逐字符做一次加权累加然后按位与保留正整数。你可以用浏览器控制台验证在Console里输入skey对应的字符串跑一遍同样的循环和脚本算出来的值比对。如果一致说明Cookie复制得没问题。另外还需要qzonetoken。在QQ空间页面里打开开发者工具切到Elements面板在页面源码里搜索qzonetoken通常能看到一个变量定义值是一串字母数字。把它复制出来放到脚本里。3.2 先跑通单条删除构造一次delete_v6请求有了Cookie、g_tk和qzonetoken就可以先尝试删除一条。不要直接全量跑先选一条自己知道内容的说说在代码里指定它的tid看返回结果是不是0。删除接口地址和参数我一般按下面的骨架来import requests session requests.Session() session.headers.update({ User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64), Referer: https://user.qzone.qq.com/你的QQ号, }) cookie_str uin123; p_skeyabc; ... # 从浏览器复制 cookie_dict {} for item in cookie_str.split(;): item item.strip() if in item: k, v item.split(, 1) cookie_dict[k] v session.cookies.update(cookie_dict) g_tk get_g_tk(cookie_str) qzonetoken 这里填页面上找到的token del_url https://h5.qzone.qq.com/proxy/domain/taotao.qq.com/cgi-bin/emotion_cgi_delete_v6 payload { g_tk: g_tk, qzonetoken: qzonetoken, uin: 你的QQ号, hostUin: 你的QQ号, tid: 要删除的说说tid, format: json, json_escaped: 1, } resp session.post(del_url, datapayload) print(resp.status_code, resp.text)这里的关键在于用同一个session对象去发请求这样Cookie才能保持。请求体里的uin和hostUin必须是你自己空间的QQ号。tid是每条说说的ID可以从列表接口拿到也可以从页面元素上抠。第一次运行如果不通过先看返回文本是不是-10000如果是基本就是g_tk算错或Cookie过期。3.3 全量遍历用msglist_v6拉取所有说说的tid并删除单条能删成功剩下的事情就简单了先拉列表拿到所有tid再循环调用删除接口。QQ空间说说列表接口有一个经典路径常见是emotion_cgi_msglist_v6POST参数里带pagenum和pagesize返回JSON里有一个msglist数组数组里的每个元素就包含tid。import time import json list_url https://h5.qzone.qq.com/proxy/domain/taotao.qq.com/cgi-bin/emotion_cgi_msglist_v6 def fetch_page(page1, size10): payload { g_tk: g_tk, qzonetoken: qzonetoken, uin: 你的QQ号, hostUin: 你的QQ号, format: json, json_escaped: 1, pagenum: page, pagesize: size, } resp session.post(list_url, datapayload) return resp.json() def delete_one(tid): del_payload { g_tk: g_tk, qzonetoken: qzonetoken, uin: 你的QQ号, hostUin: 你的QQ号, tid: tid, format: json, json_escaped: 1, } return session.post(del_url, datadel_payload).json() page 1 while True: data fetch_page(page, 10) msglist data.get(msglist) or [] if not msglist: break for item in msglist: tid item.get(tid) result delete_one(tid) print(删除, tid, 返回, result.get(code)) time.sleep(2) page 1这段代码的逻辑说明先请求第1页每页10条如果msglist为空就停止。循环里的time.sleep(2)是必要的否则接口很快会触发频率限制。注意delete_one里的删除接口地址del_url要和上一节定义的一致。实际运行时如果发现一页有20条但只删了10条说明pagesize没有生效或者接口每次返回的条数和前端展示不同你需要观察返回JSON里的total和totalpages来调整。4. 用浏览器脚本在页面内批量删除说说不装环境也能跑如果你的电脑上没有Python或者你不想复制Cookie那么麻烦还可以直接在浏览器控制台里跑JavaScript。这个方案的好处是所见即所得脚本就运行在当前页面上天然拥有登录态不需要手动处理Cookie和token。4.1 控制台脚本从当前页面循环删除可见说说打开QQ空间说说列表页按F12进入控制台粘贴下面这段代码。它的思路是找到页面上所有说说的DOM节点点掉每条说说对应的删除按钮再点掉确认框的确认按钮然后等页面更新。function sleep(ms) { return new Promise(resolve setTimeout(resolve, ms)); } async function deleteVisible() { const feeds document.querySelectorAll(.feed-item, .f-info); for (const feed of feeds) { const delBtn feed.querySelector(a[title删除], .js_delete); if (delBtn) { delBtn.click(); await sleep(300); const confirmBtn document.querySelector(.mod_confirm_btn, .btn-primary); if (confirmBtn) confirmBtn.click(); await sleep(500); feed.remove(); } } } await deleteVisible(); console.log(当前页删除流程结束);这段代码里的选择器是我根据常见页面结构写的但QQ空间页面在不同年份、不同登录方式下类名可能完全不同。你在自己的页面上要先按F12用Elements工具点一下删除按钮看它实际挂在哪个标签上再把.js_delete换成你看到的类名。不要指望一段选择器永远通吃这是浏览器方案最需要花时间调的地方。4.2 油猴脚本自动滚动、自动确认的完整流程上面的控制台脚本只能处理当前可视区的说说。如果说说很多需要自动滚动加载。更省事的做法是写一个油猴脚本通过MutationObserver监听页面新增的说评自动去点删除。下面是一个可扩展的骨架function sleep(ms) { return new Promise(resolve setTimeout(resolve, ms)); } async function handleFeed(feed) { const delBtn feed.querySelector(a[title删除], .js_delete); if (!delBtn) return false; delBtn.click(); await sleep(400); const confirmBtn document.querySelector(.mod_confirm_btn, .btn-primary); if (confirmBtn) confirmBtn.click(); await sleep(600); return true; } const observer new MutationObserver(() { const feeds document.querySelectorAll(.feed-item, .f-info); feeds.forEach(feed handleFeed(feed)); }); observer.observe(document.body, { childList: true, subtree: true }); async function autoScroll() { let lastHeight 0; while (document.body.scrollHeight ! lastHeight) { lastHeight document.body.scrollHeight; window.scrollTo(0, document.body.scrollHeight); await sleep(1500); } } autoScroll();油猴脚本的本质是让页面在加载时自动执行这段逻辑。它比控制台脚本舒服的地方是你刷新页面后它会继续监听新出现的说说节点不用每次手动粘贴。但它也有明显的副作用如果选择器写得太宽松可能会误点其他页面的元素。我的建议是不要直接全量自动运行先开着控制台观察几次确认点击、确认、刷新这三步都稳定。4.3 两种方案使用边界与效率对比本地Python脚本一次请求拿到10条说说的tid然后一条请求删一条整个过程不依赖页面渲染速度主要取决于网络延迟通常每分钟可以处理20到30条实际要看你的睡眠间隔。浏览器脚本则要等页面渲染、确认框动画、滚动加载每分钟能处理5到8条就算不错。但Python脚本对数据的要求更高你要能构造出让后端满意的完整表单浏览器脚本只要点中按钮就行前端会自动补全所有参数。所以我的判断是如果你只是偶尔清理用浏览器方案如果你要把几年的内容一次性清掉趁早用Python方案并且做好频率控制。5. 批量删除说说常见问题排查2023版5个翻车现场这一章我会讲几个我实际踩过、或者给朋友排查时遇到的典型问题。每条都按现象、原因、解决来写。你在执行脚本时如果遇到报错先对照这里。5.1 现象删几十条后接口返回“操作频繁”然后被短暂限制用Python脚本全量删除时前两分钟一切正常删到大概三四十条接口开始返回错误错误信息里带着“操作频繁”之类的提示过一两个小时又能恢复。原因是删除接口有频率限制它不是按秒算而是按时间和数量综合计算。解决方法是把sleep从2秒加到3到5秒并且随机化避免机器式的固定节奏。另外不要在多个地方同时跑脚本一个人在一个IP下高频请求最容易被触发限制。5.2 现象脚本请求成功code返回0但说说数量没变少这是最让人头大的情况。接口明明说删成功了但回到空间一看说说还在那里。原因之一是有些说说并不是普通文本类型比如带投票、带长文、或者当年发的“特别关心”动态这类说说的删除需要额外的参数比如comment、source、spcnum等。另一个原因是列表接口返回的tid可能是新版的业务ID后端删除接口里还需要传abstime或者appid这类字段。解决方法是手动删一条这样的说说抓包看看它比普通说说多了哪些表单字段然后补进delete_one函数。5.3 现象网上的教程参数和我抓到的不一样很多人拿2020年甚至更早的教程来套发现接口域名不是原来的user.qzone.qq.com变成了h5.qzone.qq.com参数里也少了某个旧字段。原因是QQ空间前端代码会不定期迭代接口路径和参数都会微调。解决方法很简单不要背参数以你自己浏览器里抓到的为准。手动删一条把请求复制为cURL然后用curl.trillworks.com这类工具转成Python代码作对照把缺失字段补上。5.4 现象删除后刷新说说还在但点击提示已删除这跟5.2有点类似但现象更诡异刷新后说说还在点进去又显示已删除。这种情况大概率不是接口问题而是删除请求里的hostUin和你当前访问的空间不是同一个。比如你登录了A账号却在B账号的空间页面上跑了脚本hostUin被脚本写死了A于是它把B空间当成了自己空间来删接口校验能通过但数据根本不是那个空间的内容。解决方法是把脚本里的uin和hostUin都改成当前登录账号并且确认浏览器地址栏里访问的确实是自己的空间。5.5 现象Cookie失效导致请求返回-10000脚本已经跑了一会儿突然所有请求都返回-10000。原因是你在其他设备上登录了同一个QQ号之前的Cookie会被踢掉或者Cookie里的p_skey有效期本来就很短。解决方法是回到浏览器重新复制Cookie同时关闭其他设备的登录。另外要注意不要随便把Cookie贴给第三方工具因为Cookie就是你的登录凭证脚本只该在本地跑别为了一张截图把Cookie贴到网页表单里。6. 批量删之前先做这两件事备份与验证删说说不是终点删完还要能证明自己删干净了并且万一误删能后悔。所以这一章我给你一个最小可用方案备份和验证。6.1 备份说说把列表接口的JSON落盘至少留下评论和时间在Python脚本里列表接口返回的msglist数组里除了tid通常还有createTime、content、commentlist等字段。你要做的只是在拿到数据后顺手写进本地文件不要等到删完再后悔。代码其实就一行import json def backup_shot(): with open(backup.json, a, encodingutf-8) as f: f.write(json.dumps(data, ensure_asciiFalse) \n)注意要按行追加每条说说单独一行。这样即使中间出错你也能按行统计备份进度。备份文件里至少要有三个字段tid、createTime、content。如果有评论统计顺手把commentNum也存下来。6.2 验证删除用数字对比确认删干净了删除全部跑完后重新请求一遍列表接口把返回的total字段打印出来。如果总数变成0说明普通说说已经清空如果总数没变说明还有一部分说说没删成功。此时你肯定想快速定位是哪条我建议你在备份文件里记录每个tid的删除结果删完后再去检查没有删除成功的tid单独重试。也可以写个简单验证函数def verify_empty(): data fetch_page(1, 1) print(剩余说说数:, data.get(total, 0))6.3 我的习惯小批量试删、分批执行、别把睡眠时间调太短我每次写这类脚本第一件事不是全量跑而是先构造一个测试用的tid清单选3到5条内容不太重要的说说试删。确认每一条都能删成功再把删除函数接上列表循环。整个删除过程我会按100条一批去跑每批之间休息5分钟。这个习惯救过我很多次。有一次是在某个模拟项目X里处理类似需求脚本跑着跑着接口突然需要二次验证如果我一开始就全量跑那几千条说说可能全部卡死在当前页。分批执行还有一个好处每批结束都能及时把备份文件存盘就算脚本崩溃也不会白删。希望这篇文章能帮你把QQ空间说说的清理做成一件能掌控的事。删之前备份删的时候控制频率删完再验证一次这三步做完你基本就不会被“批量删除”这件事坑到了。本文还有配套的精品资源点击获取

相关新闻

代码覆盖率统计工具落地实践:从原理到质量门禁配置

代码覆盖率统计工具落地实践:从原理到质量门禁配置

前阵子团队做质量复盘,技术负责人抛出一句话:功能测了这么多,到底有多少代码被真正运行过?大家都愣住,因为当时没人能回答这个问题。后来我花了小半个月,把代码覆盖率统计工具从零搭了起来,覆盖…

2026/10/13 15:24:02 阅读更多 →
Scikit-learn模型评估实战指南:数据划分、指标选择与交叉验证

Scikit-learn模型评估实战指南:数据划分、指标选择与交叉验证

1. 为什么要认真对待模型评估这件事我见过太多人花大量时间调模型,最后却在评估环节草草了事:训练集上准确率刷到98%就觉得自己大功告成,扔上线才发现真实场景里完全不是那么回事。这里面的差别,恰恰就是“会训练模型”和“会做机…

2026/10/13 15:24:02 阅读更多 →
Linux网络排查从入门到实战:协议栈、路由、防火墙与NAT全解析

Linux网络排查从入门到实战:协议栈、路由、防火墙与NAT全解析

Linux下的网络基础,说真的,属于那种你觉得自己会了,但一到生产环境就露怯的主题。干运维这些年,我最大的体会是:网络不通的根因,绝大多数不是命令不够炫,而是没把底层的数据流转、协议分层、路由…

2026/10/13 15:22:58 阅读更多 →

最新新闻

2026年软件测试面试高频考点与质量保障实战指南

2026年软件测试面试高频考点与质量保障实战指南

最近大半年,我断断续续面了几十个测试候选人,最大的感受是:2026年的软件测试面试题,已经不太看你简历里列了多少工具,大家聊的范围也从“你怎么定位元素”拉到了“你的测试方案能不能扛住一条完整业务链路”。这不是坏…

2026/10/13 16:15:25 阅读更多 →
Unity扇形Slider实现原理与工程化实践

Unity扇形Slider实现原理与工程化实践

1. 项目概述:为什么一个扇形Slider比矩形进度条更值得深挖在Unity项目里做UI进度反馈,很多人第一反应就是拖个RectMask2DImageFillAmount完事——简单、快、引擎原生支持。但真正在做游戏引导、技能冷却、能量充能、医疗设备模拟这类需要强视觉暗示的场景…

2026/10/13 16:15:25 阅读更多 →
移动端长列表返回原位置:虚拟列表场景下的滚动恢复方案

移动端长列表返回原位置:虚拟列表场景下的滚动恢复方案

先讲一个发生在我自己项目上的真实需求:移动端商城首页,商品列表滚了三屏,用户滑到第五屏,点了一个商品进详情,返回后首页直接从顶部重新开始。用户当场就懵了,他得重新回忆刚才在看哪一档价格、对比到哪个…

2026/10/13 16:15:25 阅读更多 →
PyTorch GPU加速实战:MNIST CNN训练全流程优化

PyTorch GPU加速实战:MNIST CNN训练全流程优化

1. 项目概述:为什么一个“MNISTGPUPyTorch CNN”仍值得深挖你点开这个标题,大概率不是为了第一次听说MNIST——它被称作计算机视觉的“Hello World”,但恰恰是这个看似简单的手写数字分类任务,成了检验深度学习工程能力最扎实的试…

2026/10/13 16:15:25 阅读更多 →
移动端战术射击游戏开发的核心挑战与实战优化

移动端战术射击游戏开发的核心挑战与实战优化

1. 为什么“三角洲行动”这类战术射击手游的移动端开发,根本不是把PC端逻辑简单移植过去?“三角洲行动”这个标题一出来,很多刚接触移动游戏开发的朋友第一反应是:不就是把《使命召唤》或者《彩虹六号》的玩法搬到手机上&#xff…

2026/10/13 16:15:25 阅读更多 →
国外文献检索实战:从平台选择到引文追踪的完整方法论

国外文献检索实战:从平台选择到引文追踪的完整方法论

拿到一个新课题,第一件事往往不是急着读文献,而是要回答一个更基础的问题:国外研究文献到底去哪儿找。这些年我被同门、学弟妹、合作项目的伙伴反复问过这个问题,问的人从刚进组的学生到准备开题的研究生都有。大家普遍以为答案是…

2026/10/13 16:14:22 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 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/12 21:05:09 阅读更多 →
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/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练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/12 18:11:17 阅读更多 →