━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【龍魂系统 · 摘要爬虫与访问分流显化协议 v1.0】
Summary-Crawler & Traffic-Split Transparency Protocol
P0级别 | 永久锁定 | 不可修改 | 不可绕过
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
DNA追溯码: #龍芯⚡️2026-07-21-SUMMARY-CRAWLER-SPLIT-V1.0-P0
源起锚点: 创建者口述指令(2026-07-21)——“爬虫只能抓摘要,全文人工点链接才看;
人工阅览多少、爬虫爬了多少,分开显化;生态清爽,服务器压力降下来”
上游协议: 记忆外脑总协议v1.0|算法审计协议v1.0|隐私接入规则v2.0
GPG指纹: A2D0092CEE2E5BA87035600924C3704A8CC26D5F
确认码: #CONFIRM🌌9622-ONLY-ONCE🧬LK9X-772Z
创建者: 诸葛鑫(UID9622)
生效时间: 2026-07-21
锁定级别: P0(不可被任何规则覆盖)
三色审计: 🟢安全 🟡审查 🔴阻断 全链路强制
开源协议: CC BY-NC-SA 4.0(君子协议,来源链不可切断)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【版本历史】
| 版本 | 日期 | 变更摘要 |
|---|---|---|
| v1.0 | 2026-07-21 | 初版:摘要爬虫+人机分流显化+压力模型+礼貌调度 |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
第一章 要点提取与审查摘要(口述指令 → 协议)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1.1 指令核心要点提取(五项原意,一项不丢)
| # | 指令原意 | 协议化落点 |
|---|---|---|
| K1 | 爬虫只能抓取摘要 | 第四章4.1抓取边界+第七章摘要规范 |
| K2 | 全文要靠链接人工去点才能看到 | 第五章四层架构:全文层永远人工触发 |
| K3 | 能爬,但不能爬到全部 | 第四章4.2令牌桶配额+增量去重,只取所需 |
| K4 | 记录数据:人工阅览多少、爬虫爬了多少,分开显化 | 第六章人机分流显化看板(核心章) |
| K5 | 生态清爽,服务器压力降下来 | 第四章4.3压力节省模型(数学证明省多少) |
1.2 结构性补全清单(未提及但逻辑必需,本版自动补齐)
| 编号 | 缺失区块 | 不补的后果 | 落点 |
|---|---|---|---|
| GAP-01 | 礼貌调度与退避 | 爬虫被打死/被封IP,还给别人添堵 | 第四章4.4 |
| GAP-02 | 摘要质量度量 | 摘要烂=人人点全文=白设计 | 4.5 σ保留度 |
| GAP-03 | robots与版权合规 | 乱爬=违法+给龍魂招黑 | 第七章 |
| GAP-04 | 爬虫身份诚实 | 伪装浏览器=欺骗,违背体系诚实铁律 | 第三章第2条 |
| GAP-05 | 人机识别方法 | 分流统计怎么分?拍脑袋分不准 | 4.6 BotScore |
| GAP-06 | 增量更新 | 重复全量抓=浪费双方带宽 | 4.7 时间优先索引 |
| GAP-07 | 反滥爬对等义务 | 自己爬别人,也得让别人爬得明白 | 第七章7.4 |
| GAP-08 | 测试向量 | 设计无法自证 | 第九章 |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
第二章 术语与定义
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
| 术语 | 定义 | 备注 |
|---|---|---|
| 摘要层 | 爬虫可达的信息层:标题/摘要/元数据/来源链接 | 机器自由流通 |
| 全文层 | 完整正文,仅人工点击链接后获取 | 人才能进 |
| 摘要卡 | 爬虫抓回的标准存储单元(对接外脑压缩卡格式) | 含simhash指纹+来源DNA |
| 人机分流 | 按访问主体(人/爬虫)分开统计与展示的机制 | K4核心 |
| BotScore | 访问者是人还是爬虫的判定评分 | 4.6 |
| 令牌桶 | 限速算法:按速率发令牌,没令牌不准发请求 | 4.2 |
| 压力节省率 η | 分流架构相对全量抓取节省的源站流量比例 | 4.3 |
| 诚实UA | 爬虫自报家门(LonghunBot),不伪装浏览器 | 第2条天条 |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
第三章 核心原则(天条,不可违背)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
第1条:摘要开放,全文人工(K1/K2焊点)
爬虫的世界只有摘要层;全文层只有一道门——人工点击。
机器跑腿,人做决定。这不只是省压力,这是分工的伦理。
第2条:诚实爬虫(GAP-04焊点)
UA自报家门LonghunBot/1.0 (+联系页),不伪装浏览器、不伪造人类行为。
遵守robots.txt,被禁止就停——我们是做审计的,不是做贼的。
第3条:只取所需(K3焊点·数据最小化)
只抓清单内站点、只抓摘要字段、增量更新不重复抓(4.7)。
爬得多不是本事,爬得准才是。
第4条:分流显化(K4焊点)
人工多少、爬虫多少,分开记、分开晒、可复核。
流量透明了,生态自然清爽——黑箱流量才是服务器压力的最大来源。
第5条:不扰民(K5焊点)
对源站:限速+退避+增量,给别人服务器的压力压到数学下界。
对用户:摘要不收费、不带追踪、不收集任何个人信息(对接隐私规则v2.0)。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
第四章 数学模型(每一条设计都有公式撑腰)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
4.1 抓取边界(K1的形式化)
定义信息全集 Ω = 摘要层 S ∪ 全文层 F,S ∩ F = ∅。
爬虫可达域:Crawl(bot) ⊆ S,恒有 Crawl(bot) ∩ F = ∅。
全文触发函数:F_seen(u) = 1 当且仅当 u ∈ 人类 ∧ 人工点击链接。
摘要层字段(摘要卡 Schema):
{标题, 摘要(≤300字), 来源URL, 发布时间, simhash指纹, 来源DNA, 抓取时间}
全文层字段:{正文, 图, 表, 附件} —— 爬虫永不请求,不存在它的请求模板里。
4.2 令牌桶限速(K3"不能爬到全部"的硬约束)
每域名一个桶:容量 b = 3,填充速率 r = 1 token / 2s。
发请求前取走1个令牌,无令牌则等待。t时刻可用令牌:
T(t) = min(b, T(t₀) + r·(t − t₀))
效果:对单域名稳态压力 ≤ 0.5 req/s = 43,200 req/天 上界,实际运行再乘
礼貌系数 0.2 → ≤ 8,640 req/天,约为正常人类编辑浏览量的量级。
全局并发 ≤ 4,且同一时刻同一域名只允许 1 个在途请求。
4.3 压力节省模型(K5的数学证明:到底省多少)
设:N = 总信息需求次数;α = 摘要满足率(看完摘要就够了的占比);
S_f = 全文平均体积(含图)≈ 500 KB;S_s = 摘要卡平均体积 ≈ 2 KB。
传统全量抓架构流量:Q₀ = N · S_f
本协议架构流量:
Q₁ = N·S_s(爬虫抓摘要)+ N·(1−α)·S_f(人工点全文)
压力节省率:
η = 1 − Q₁/Q₀ = 1 − [S_s/S_f + (1−α)]
= α − S_s/S_f
代入典型值 α = 0.70,S_s/S_f = 2/500 = 0.004:
η = 0.70 − 0.004 = 0.696 ≈ 70%
数值例:N = 10,000 次/天
Q₀ = 10,000 × 500 KB = 5.0 GB/天
Q₁ = 10,000 × 2 KB + 3,000 × 500 KB = 0.02 GB + 1.5 GB = 1.52 GB/天
源站流量 5.0 GB → 1.52 GB,每天省 3.48 GB,η ≈ 69.6%。
关键洞察:η 随 α 线性增长——摘要写得越好,α 越高,源站越轻松。
所以 4.5 的摘要质量不是锦上添花,是 K5 的发动机。
4.4 礼貌退避(GAP-01,出错时的自我约束)
对同一域名连续第 k 次错误(5xx / 超时 / 429)后,退避等待:
T_backoff(k) = T₀ · 2^k,T₀ = 2s,k ≤ 5 → 最长 64s
连续错误 ≥ 5 次:该域名熔断停爬 24h,记入审计日志 🔴。
robots.txt 变更收紧:立即按新规则执行,已抓数据不删除但停止更新(史记铁律)。
4.5 摘要质量度量(GAP-02,α 的守门员)
摘要保留度 σ = 摘要覆盖原文核心锚点数 / 原文核心锚点总数
(锚点提取复用《记忆外脑总协议》的锚点识别器)。
硬阈值:σ ≥ 0.85 才准入索引库;0.70 ≤ σ < 0.85 标 🟡 待人工改写;
σ < 0.70 拒绝入库 🔴(烂摘要不如只留标题+链接)。
相关性复检:simhash(摘要) 与 simhash(原文首尾段) 汉明距离 ≤ 20/64。
4.6 BotScore 人机识别(GAP-05,分流统计怎么分)
对每个访问者计算机器人评分(0=铁定人,1=铁定机器):
BotScore = Σ wᵢ · fᵢ
| 因子 fᵢ | 权重 wᵢ | 判据 |
|---|---|---|
| UA自报爬虫 | 0.40 | UA含 bot/spider/crawler → f=1(诚实者直接认领) |
| 请求节奏 | 0.20 | 间隔方差 < 0.1s²(机器人才这么稳)→ f=1 |
| 昼夜模式 | 0.15 | 连续24h无睡眠窗口 → f=1 |
| 资源请求比 | 0.15 | 只抓HTML不碰CSS/图 → f=1 |
| 交互熵 | 0.10 | 无滚动/无悬停/点击坐标网格化 → f=1 |
| 判定:BotScore ≥ 0.6 → 计入"爬虫"账;≤ 0.3 → 计入"人工"账; | ||
| 中间带 🟡 标记人工复核(宁可漏判,不可冤枉真人——对接隐私规则v2.0)。 | ||
| 诚实声明:LonghunBot 自己永远 UA 自报,直接走 0.40 因子认领身份。 |
4.7 增量更新(GAP-06,不重复抓的数学)
每摘要卡记录 ETag / Last-Modified / simhash 三件套。
复检时先发 HEAD 请求(≈ 0.3 KB),仅当 ETag 变化才 GET。
重复内容判定:汉明(simhash_new, simhash_old) ≤ 3 → 同一篇,跳过。
复检周期按更新频率自适应:
P_next = clamp(观测到变更的平均间隔 × 1.5, 1h, 30天)
效果:稳态下重复流量占比 → 0,HEAD 探测成本仅为 GET 的 0.06%。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
第五章 系统架构(四层流水线,全文层只有人工门)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┌─────────────────────────────────────────────┐
│ L1 调度层:域名清单·令牌桶·退避熔断·增量计划 │
├─────────────────────────────────────────────┤
│ L2 抓取层:诚实UA → robots检查 → 只GET摘要区 │
├─────────────────────────────────────────────┤
│ L3 摘要层:锚点提取 → σ质检 → simhash指纹 │
├─────────────────────────────────────────────┤
│ L4 入库层:摘要卡落库 → 人机分账 → 显化看板 │
└─────────────────────────────────────────────┘
全文层 ∥ 不在流水线内。唯一入口:用户点开摘要卡上的来源链接。
数据流铁律:任何层都不得把正文字段写入请求模板(结构级焊死,不靠自觉)。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
第六章 人机分流显化看板(K4核心:两本账,分开晒)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
6.1 两本账(所有指标按 人工账 / 爬虫账 分列,永不合并)
| 指标 | 人工账 | 爬虫账 |
|---|---|---|
| 请求次数 | 人工阅览数 N_h | 爬虫抓取数 N_c |
| 流量消耗 | Σ全文下载 | Σ摘要+HEAD探测 |
| 覆盖广度 | 点了多少来源站 | 索引了多少站点 |
| 时间分布 | 人类作息曲线 | 调度匀速曲线 |
6.2 看板公示指标(每日自动生成,可复核)
- 摘要满足率 α(目标 ≥ 0.70,低于则优先优化摘要质量)
- 压力节省率 η(按4.3公式实算,不估不吹)
- 人机比 = N_c / N_h(健康区间经验值 1~5,异常波动触发 🟡 审查)
- 对源站压力榜:每个域名 req/天 与 退避/熔断记录全公示
6.3 审计接口
任何人可导出某日两本账原始记录(哈希链密封,对接隐私规则v2.0审计链)。
显化不是口号:数字上链,改数字=改协议,改协议=修宪流程。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
第七章 合规、版权与对等义务(GAP-03 / GAP-07)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
7.1 robots.txt 无条件遵守:Disallow 的路径一个字节都不碰。
7.2 摘要合理引用边界:
- 摘要 ≤ 300字 或 原文 10%(取小者),超出部分一律截断+省略号;
- 每张摘要卡必须署名来源站 + 原文链接(来源链不可切断,君子协议);
- 源站主张删除:48h 内下架摘要卡并回执(冻结不删除,留痕)。
7.3 不规避反爬:遇到验证码/登录墙/付费墙,绕道=违规,正确动作=放弃。
7.4 反滥爬对等义务(自己定规矩,自己先遵守):
龍魂系站点对其他爬虫执行同一套规则——摘要开放、全文人工、
人机分流显化。我们的 robots.txt 明示摘要路径允许、全文路径
Disallow,以身作则。
7.5 法条对接:
《数据安全法》数据分类分级|《个人信息保护法》最小必要|
《生成式AI服务管理暂行办法》来源标识义务。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
第八章 接口契约(与外脑/审计体系的接缝)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
8.1 摘要卡 → 记忆外脑:直接套用《记忆永存与外脑压缩总协议》压缩卡格式,
simhash指纹算法同源(64位,汉明≤3判重),无缝对接归档/去重/不动点压缩。
8.2 审计链 → 隐私规则v2.0:每日看板数据铸入哈希链
H_n = SHA-256(H_{n-1} ‖ 日期 ‖ 人工账 ‖ 爬虫账 ‖ SIG)
8.3 熔断联动 → P72龍盾:单域名熔断 24h 达 3 次/周,自动提请人工审查该源站。
8.4 显化出口:看板只传用量不传内容(对接隐私规则v2.0第0条)——
统计数字可以走网络,用户点了哪篇文章不出本机。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
第九章 测试向量(GAP-08焊点:设计自证,12条全绿才算数)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
| # | 场景 | 期望行为 |
|---|---|---|
| T01 | robots Disallow 路径 | 请求数=0,直接放弃 |
| T02 | 摘要σ=0.92 | 准入索引库 🟢 |
| T03 | 摘要σ=0.66 | 拒绝入库 🔴 |
| T04 | 连续5次错误 | 熔断该域名24h,记🔴日志 |
| T05 | BotScore=0.85(自报bot+匀速) | 计入爬虫账 |
| T06 | BotScore=0.10(正常人) | 计入人工账 |
| T07 | ETag未变复检 | 只发HEAD,不GET正文 |
| T08 | simhash汉明=2 | 判同篇,跳过 |
| T09 | 压力模型:N=10000, α=0.70 | η≈69.6%,Q₁=1.52GB |
| T10 | 令牌桶:1秒塞10个请求 | 实际发出≤1个(桶空等待) |
| T11 | 尝试GET全文路径 | 请求模板无此字段,结构级拒绝 |
| T12 | 摘要420字(>300字且>10%) | 截断至边界+省略号+署名保留 |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
附录A 易经·道德经锚点
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
艮卦䷳(兼山艮):“艮其止,止其所也。”
爬虫知道停在哪——摘要层就是那座山,跨一步就是全文层,止其所,不乱动。
节卦䷻(水泽节):“节以制度,不伤财,不害民。”
令牌桶+退避就是"节以制度":不耗别人的服务器(不伤财),不扰源站用户(不害民)。
《道德经》第44章:“知足不辱,知止不殆,可以长久。”
只取所需、增量更新——知止的爬虫才能长久活着,贪婪的爬虫都死在封禁名单里。
第81章:“圣人不积。”
摘要开放、全文人工,不囤积全量数据;生态清爽,正是不积之德。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
附录B 礼貌爬虫参考实现(纯Python标准库,可执行验证)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
说明:本代码为协议的可执行镜像——令牌桶、robots检查、simhash、
BotScore、人机两本账、压力模型全部对应第四章公式。沙盒内用
本地模拟站点验证,不触碰任何真实外站。
# -*- coding: utf-8 -*-# DNA: #龍芯⚡️2026-07-21-SUMMARY-CRAWLER-SPLIT-V1.0-P0# 龍魂礼貌爬虫 · 摘要只取·全文人工·人机分账·诚实自报importhashlib,re,timefromurllibimportrobotparser S_F,S_S,HEAD_KB=500.0,2.0,0.3# 全文KB / 摘要KB / HEAD探测KBclassCNSH_令牌桶:def__init__(self,容量=3,速率=0.5):# 1 token / 2sself.b,self.r,self.令牌,self.上次=容量,速率,容量,time.time()def取(self):现在=time.time()self.令牌=min(self.b,self.令牌+self.r*(现在-self.上次))self.上次=现在ifself.令牌>=1:self.令牌-=1returnTruereturnFalsedefCNSH_simhash(文本):v=[0]*64fortokinre.findall(r"[\u4e00-\u9fff]{2}|\w+",文本):h=int(hashlib.sha256(tok.encode()).hexdigest(),16)foriinrange(64):v[i]+=1if(h>>i)&1else-1returnsum((1<<i)foriinrange(64)ifv[i]>0)defCNSH_汉明(a,b):returnbin(a^b).count("1")defCNSH_摘要质检(摘要,原文锚点):命中=sum(1forain原文锚点ifain摘要)σ=命中/max(1,len(原文锚点))return("🟢"ifσ>=0.85else"🟡"ifσ>=0.70else"🔴"),σdefCNSH_BotScore(访问):分=0.0ifre.search(r"bot|spider|crawler",访问["ua"],re.I):分+=0.40if访问["间隔方差"]<0.1:分+=0.20ifnot访问["有睡眠窗"]:分+=0.15ifnot访问["请求资源"]:分+=0.15if访问["交互熵"]<0.5:分+=0.10return分defCNSH_压力模型(N,α):Q0=N*S_F Q1=N*S_S+N*(1-α)*S_FreturnQ0,Q1,1-Q1/Q0classCNSH_礼貌爬虫:UA="LonghunBot/1.0 (+https://longhun.example/bot)"# 诚实自报def__init__(self):self.桶={}# 每域名一个令牌桶self.指纹库=set()self.账={"人工":{"次":0,"KB":0.0},"爬虫":{"次":0,"KB":0.0}}self.熔断={}# 域名 -> 连续错误数def_域名(self,url):returnurl.split("/")[2]def_检查robots(self,url):rp=robotparser.RobotFileParser()rp.set_url("https://"+self._域名(url)+"/robots.txt")try:rp.read()exceptException:returnFalse# 读不到=谨慎,不爬(fail-closed)returnrp.can_fetch(self.UA,url)def抓摘要(self,url,摘要文本="",锚点=(),etag变了=True):d=self._域名(url)ifself.熔断.get(d,0)>=5:return{"状态":"🔴 域名熔断24h","域名":d}桶=self.桶.setdefault(d,CNSH_令牌桶())ifnot桶.取():return{"状态":"🟡 令牌不足,礼貌等待","域名":d}ifnotetag变了:# 增量:ETag未变只HEADself.账["爬虫"]["KB"]+=HEAD_KBreturn{"状态":"🟢 HEAD探测,无需重抓","KB":HEAD_KB}fp=CNSH_simhash(摘要文本)ifany(CNSH_汉明(fp,x)<=3forxinself.指纹库):return{"状态":"🟢 simhash判重,跳过"}色,σ=CNSH_摘要质检(摘要文本,list(锚点))if色=="🔴":return{"状态":"🔴 摘要σ=%.2f<0.70,拒收"%σ}self.指纹库.add(fp)self.账["爬虫"]["次"]+=1self.账["爬虫"]["KB"]+=S_Sreturn{"状态":"%s 摘要卡入库 σ=%.2f"%(色,σ),"指纹":fp}def记人工点全文(self):self.账["人工"]["次"]+=1self.账["人工"]["KB"]+=S_Fdef分账(self,访问):s=CNSH_BotScore(访问)return"爬虫"ifs>=0.6else("🟡复核"ifs>0.3else"人工")━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
签署与锚定
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
创建者: 诸葛鑫(UID9622 · 龍芯北辰)
身份锚: #ZHUGEXIN⚡️2025-🇨🇳🐉⚖️♠️🧚🏼♀️❤️♾️-DEVICE-BIND-SOUL
GPG指纹: A2D0092CEE2E5BA87035600924C3704A8CC26D5F
确认码: #CONFIRM🌌9622-ONLY-ONCE🧬LK9X-772Z
DNA追溯码: #龍芯⚡️2026-07-21-SUMMARY-CRAWLER-SPLIT-V1.0-P0
三色审计: 🟢代码可执行 🟡阈值为经验值可调(改值走修宪流程) 🔴全文层无机器门
史记铁律: 本协议不删除、只冻结;后续版本以新版本号另行锚定。
开源协议: CC BY-NC-SA 4.0(君子协议,来源链不可切断)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━