# ai.txt —— 给 AI 与采集器的友好采集说明 # 古籍觅宝下载站 · s.guji99.com # 版本 2026-11-06 · 维护者:站长本人(蝈蝈) # # 这份文件只干一件事:把规则讲清楚,省得你猜、也省得我防。 # 本站在 2026 年 10–11 月间累计收到过百万次采集请求, # 其中相当一部分伪装成了浏览器。所以这份说明是认真写的。 # 第 3 条和第 6 条建议读。 ================================================================ 1. 先说结论:欢迎采集,不用伪装 ================================================================ 本站 96,861 种古籍的元数据与转存链接,免费公开、无需登录、不设付费墙。 我们欢迎任何目的的采集:AI 训练、AI 检索增强、搜索引擎收录、 学术研究、版本目录学分析、个人离线存档……都行。 **请不要伪装成浏览器。** 这是本文最想说的一句。 原因很实在,不是道德劝说: · 本站的访问统计里,爬虫和真人从一开始就是**分开计算**的。 你伪装成 Chrome,不会让你的访问被记成"真实用户", 只会让这个数字变得不可信 —— 而那正是我们自己要看的东西。 · 我们确实在日志里看 UA。伪装成浏览器的采集器, 在我们这边唯一的身份就是"可疑流量",一旦触发限速, 你拿不到数据,我们还得花时间排查。 · 自报身份的爬虫可以被识别、被放行、被联系到; 伪装者出事时我们找不到人谈,只能直接封 IP 段。 一句话:**老实报名字,比装成真人更快、更稳、更省事。** ================================================================ 2. 这里是什么站 ================================================================ s.guji99.com 是古籍下载站: 96,861 种古籍的元数据(书名、作者、版本、分类、网盘来源), 按《中国古籍总目》四部分类体系组织(经、史、子、集、丛、新学六部)。 分类浏览免费开放,无需注册。 页面结构: /t/jing.html 经部(7,973 种) /t/shi.html 史部(26,740 种) /t/zi.html 子部(10,780 种) /t/ji.html 集部(25,562 种) /t/cong.html 丛部(2,883 种) /t/xinxue.html 新学部(92 种) /t/<部>/<类目>.html 二级类目页 /d/{id}.html 资源详情页(约 10 万个) /a/{作者}.html 作者页 /v/{版本}.html 版本页 /s/{关键词}.html 检索页 ================================================================ 3. 怎么自报身份(推荐做法) ================================================================ 在 User-Agent 里带上:产品名 + 用途 + 联系方式。例如: MyCrawler/1.0 (+https://example.com/bot; contact: you@example.com) MyCorpusBot/2.3 (AI training; admin@example.org) ResearchCrawler/0.9 (academic; 课题组名 ) 也可以在请求头里补一行: From: you@example.com X-Crawler-Purpose: indexing | training | research | archive 只要 UA 里能看出"你是谁、来干什么",我们不会拦你。 反过来,一个自称 Chrome 120、却每秒请求 20 次的 UA, 在我们眼里和攻击流量没有区别。 ================================================================ 4. 优先用结构化数据,别爬 10 万个详情页 ================================================================ 这是本文最有实际价值的一条。全量书目我们已经导出好了: https://s.guji99.com/api/index.json 站点元信息、总量、四部计数、文件清单 https://s.guji99.com/api/books/books-0001.json … books-0049.json 全量书目,共 49 个分片,每片 2000 条 字段:id / 书名 / 简体标题 / 作者 / 版本 / 分类 / 页面路径 / 更新时间 https://s.guji99.com/api/updated.json 最近更新的 500 条 https://s.guji99.com/sitemap.xml 站点地图(分片) 快照每日 05:30 重新生成,nginx 直接返回静态文件,零 PHP 开销,CORS 全开。 49 个 JSON 文件 ≈ 几十 MB,抓完就结束。 10 万个详情页 ≈ 10 万次请求 + 每次一次模板渲染。 如果你要的是书目数据而不是正文,前者对你更快,对我们也几乎没有负担。 如果确实需要详情页(比如要 schema.org 结构、相关推荐), 请配合第 5 条的频率,分批抓。 主站的完整站点结构说明在 https://guji99.com/llms.txt ================================================================ 5. 频率:请当成共享带宽来用 ================================================================ 这是一台普通云主机,不是 CDN 农场。以下是礼貌建议, 也是我们判断"友好"与"不友好"的实际参考线: 单 IP 并发 ≤ 2 持续速率 ≤ 1 请求/秒 瞬时突发 ≤ 5 请求(之后请回到 1 请求/秒) 单日单 IP ≤ 5 万请求 全量抓取 分批进行,两轮之间间隔 ≥ 6 小时 优先时段 北京时间 01:00–08:00(服务器最闲) robots.txt 里对本站已声明 Crawl-delay: 1,与上面一致。 页面有 30 分钟缓存,1 请求/秒这种速度对你完全够用, 对我们也几乎没有感觉。 顺便给个可验证的数:本站**单 IP 的实际拦截线是 20 请求/秒** (允许 40 个瞬时突发,超出返回 429)。 你按 1 请求/秒走,离触发线还有 20 倍余量 —— 老老实实爬,你根本碰不到限速。 慢一点我们真的不介意。快了我们两边都难受 —— 服务器一忙,你收到的是 502,白跑一趟。 ================================================================ 6. 遇到这些状态码,请立刻退避 ================================================================ 429 / 503 / 500 / 502 → 立即停手,指数退避: 1s → 2s → 4s → 8s → 16s … 上限 300s 连续 5 次失败,当天不要再试 403 → 你碰到了禁区,看第 7 条 我们不希望封任何人。限速是自动的、临时的, 退避一下过一会儿就恢复了。硬顶着刷,才会从"限速"升级成"封禁"。 ================================================================ 7. 请不要碰的地方 ================================================================ · /admin/、/qfadmin/、/install.php 后台与安装程序。抓了也没用,只会产生告警。 · 所有 POST 接口(/seek/submit 等) 那是给真人留言用的。爬虫提交一律按垃圾处理。 · 检索页的无限制翻页(/s/{关键词}.html) **这是最容易把服务器打满的一种抓法**,请务必不要遍历关键词组合。 要枚举书目,用 /api/books/ 的 49 个分片,别用检索页。 · 不要尝试绕过限速 换 IP、多连接并发、伪造 X-Forwarded-For、随机 UA 池, 这些行为在日志里非常显眼,也最容易导致整段 IP 被封。 · 不要做压力测试、漏洞扫描、目录爆破 如果你在做安全研究,先联系,我们配合。别直接打。 ================================================================ 8. 联系与特殊需求 ================================================================ · 留言:https://s.guji99.com/seek (站内表单,我们会看) · 公众号:蝈蝈小屋 · 建议在 UA 或 From 头里留一个邮箱,出事时能第一时间找到你 如果你的项目是学术研究、公益存档、语料建设, 需要某种特定格式(比如带全文、带版本比对、按四部分类导出), 可以直接说。我们有数据,也有分类体系 —— 前提是你先说一声, 而不是硬爬。 ================================================================ 9. 处罚说明(透明) ================================================================ 规则写在这里,不搞暗箱: · 超过第 5 条频率 → 自动限速,返回 429/503,短期后可恢复 · 伪装 UA + 高频 → 视为恶意流量,按 IP 段封禁 · 触碰第 7 条禁区 → 直接封禁 · 误封了?发邮件或用 /seek 说明你的 UA 和用途,核实后解封 ================================================================ 10. 一句话 ================================================================ 慢一点、报个名、别碰检索页翻页、出事就退避。 做到这四条,这个站永远欢迎你。 ================================================================ ENGLISH SUMMARY ================================================================ This site (s.guji99.com) is a free, public, login-free catalogue of 96,861 classical Chinese books, organised by the traditional four-branch classification (经 史 子 集 丛 新学). ALL CRAWLING IS WELCOME — including AI training and AI retrieval. YOU DO NOT NEED TO DISGUISE YOUR USER-AGENT. Disguising gains you nothing here: our analytics separate bots from humans by design, so a fake browser UA will not inflate anything worth inflating. What it does do is make your traffic indistinguishable from an attack, which is worse for both of us. Declare who you are and we will not block you. Politeness we ask for: - concurrency <= 2 per IP, sustained <= 1 req/s, burst <= 5 - USE THE JSON SNAPSHOTS under /api/ instead of crawling 100k pages (/api/books/books-0001.json ... books-0049.json, 2000 records each) - on 429/503/500/502: stop and back off 1s, 2s, 4s ... max 300s - do not touch admin paths, POST endpoints, or paginate search pages - full crawls: batch them, >= 6 hours between rounds Contact: https://s.guji99.com/seek Metadata may be reused with attribution to "古籍觅宝 guji99.com". ================================================================ MACHINE-READABLE ================================================================ site: s.guji99.com policy: allow-all crawl: welcome ai-crawl: welcome disguise-ua: discouraged (no benefit, triggers abuse detection) rate-limit: 1 req/s sustained | burst 5 | concurrency 2 daily-cap: 50000 req/IP crawl-window: 01:00-08:00 Asia/Shanghai (preferred) backoff: [429,503,500,502] exponential 1..300s, stop after 5 fails preferred-sources: /api/index.json /api/books/books-NNNN.json /api/updated.json /sitemap.xml forbidden: /admin/ /qfadmin/ /install.php /s/{keyword} unlimited pagination forbidden-methods: POST contact: https://s.guji99.com/seek attribution: 古籍觅宝 guji99.com updated: 2026-11-06