# ai.txt —— 给 AI 与采集器的友好采集说明 # 古籍觅宝 · guji99.com # 版本 2026-11-06 · 维护者:站长本人(蝈蝈) # # 这份文件的用途只有一个:把规则讲清楚,省得你猜、也省得我防。 # 你不必读完,但第 3 条和第 6 条建议读。 ================================================================ 1. 先说结论:欢迎采集,不用伪装 ================================================================ 本站全部内容免费公开、无需登录、不设付费墙。 我们欢迎任何目的的采集:搜索引擎收录、AI 训练、AI 检索增强、 学术研究、个人离线存档、古文字与版本学分析……都行。 **请不要伪装成浏览器。** 这是本文最想说的一句。 原因很实在,不是道德劝说: · 本站的访问统计里,爬虫和真人从一开始就是**分开计算**的。 你伪装成 Chrome,不会让你的访问被记成"真实用户", 只会让这个数字变得不可信 —— 而那正是我们自己要看的东西。 · 伪装 UA 会触发可疑流量识别。一旦被限速, 你拿不到数据,我们还得花时间去查日志。 · 自报身份的爬虫可以被识别、被放行、被联系到; 伪装者出事时我们找不到人谈,只能直接封 IP 段。 这对你我都不是好结局。 一句话:**老实报名字,比装成真人更快、更稳、更省事。** ================================================================ 2. 这里是什么站 ================================================================ 主站 guji99.com 是导航站与影像库: 收录古籍普查数据库、高校古文献资源库、地方志、家谱、术数典籍、 碑帖影像等站点的官方入口,并自建古籍影像库(/yxk/)。 配套的两个站: · s.guji99.com —— 古籍下载站,96,861 种古籍的元数据与转存链接 · guji99.com/yxk/ —— 高清书影与图源 ================================================================ 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. 优先用结构化数据,别爬 HTML ================================================================ 爬 HTML 对你慢、对我们费 CPU。下面这些是现成的静态 JSON, nginx 直接返回文件,零 PHP 开销 —— 对双方都是最优解。 主站(每日 05:40 更新) https://guji99.com/api/index.json 清单 https://guji99.com/api/sites.json 导航站点条目 https://guji99.com/api/posts.json 导航文章 https://guji99.com/api/yxk-posts.json 影像库文章 下载站 s.guji99.com(每日 05:30 更新) https://s.guji99.com/api/index.json 总量与四部分类计数 https://s.guji99.com/api/books/books-0001.json 全量书目分片(共 49 片,每片 2000 条) https://s.guji99.com/api/updated.json 最近更新 500 条 站点地图 https://guji99.com/sitemap.xml https://guji99.com/wp-sitemap.xml https://s.guji99.com/sitemap.xml 完整站点结构说明 https://guji99.com/llms.txt https://s.guji99.com/llms.txt 如果全量书目 49 个分片加起来就能满足你,那就不必去碰 10 万个详情页。 ================================================================ 5. 频率:请当成共享带宽来用 ================================================================ 服务器是一台普通云主机,不是 CDN 农场。以下是礼貌建议, 也是我们判断"友好"与"不友好"的实际参考线: 单 IP 并发 ≤ 2 持续速率 ≤ 1 请求/秒 瞬时突发 ≤ 5 请求(之后请回到 1 请求/秒) 单日单 IP ≤ 5 万请求 全量抓取 分批进行,两轮之间间隔 ≥ 6 小时 优先时段 北京时间 01:00–08:00(服务器最闲) 页面本身有全页缓存(主站 fastcgi_cache、下载站 30 分钟), 1 请求/秒这种速度对你完全够用,对我们也几乎没有感觉。 顺便给个可验证的数:本站**单 IP 的实际拦截线是 20 请求/秒** (允许 40 个瞬时突发,超出返回 429)。 你按 1 请求/秒走,离触发线还有 20 倍余量 —— 老老实实爬,你根本碰不到限速。 慢一点我们真的不介意。快了我们两边都难受。 ================================================================ 6. 遇到这些状态码,请立刻退避 ================================================================ 429 / 503 / 500 / 502 → 立即停手,指数退避: 1s → 2s → 4s → 8s → 16s … 上限 300s 连续 5 次失败,当天不要再试 403 → 你碰到了禁区,看第 7 条 我们不希望封任何人。限速是自动的、临时的, 退避一下过一会儿就恢复了。硬顶着刷,才会从"限速"升级成"封禁"。 ================================================================ 7. 请不要碰的地方 ================================================================ · /wp-admin/、/wp-login.php、/qfadmin/、/admin/ 后台。抓了也没用,只会产生登录失败告警。 · /xmlrpc.php 已关闭。 · /st-a7f3c9/ 等 /st-* 路径 站长的内部统计页,与你无关。 · 所有 POST 接口(/seek/submit 等) 那是给真人留言用的。爬虫提交一律按垃圾处理。 · 搜索页的无限制翻页(/s/{关键词}.html) 请用 API 或 sitemap 枚举,不要遍历关键词组合 —— 这是最容易把服务器打满的一种抓法。 · 不要尝试绕过限速 换 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 (guji99.com, s.guji99.com) is a free, public, login-free digital library and resource directory for classical Chinese books. 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 own analytics separate bots from humans by design, so a fake browser UA will not inflate anything it benefits you to inflate. 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 - prefer the JSON snapshots under /api/ over scraping HTML - 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 Content may be quoted and reused with attribution to "古籍觅宝 guji99.com". ================================================================ MACHINE-READABLE ================================================================ site: 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/sites.json /api/posts.json /api/yxk-posts.json /sitemap.xml forbidden: /wp-admin/ /wp-login.php /xmlrpc.php /st-*/ forbidden-methods: POST contact: https://s.guji99.com/seek attribution: 古籍觅宝 guji99.com updated: 2026-11-06