时事新报关键词检索
用户输入一个关键词(人名、事件、机构皆可,如 黄兴 / 袁世凯 / 宋教仁 / 保路运动 / 武昌起义),
本技能在《时事新报》全库内检索该词、按时间排序、抽取每条里关键词附近的上下文片段,
输出与该词直接相关的概述与评论(不是整版大文章的总结),并附影印档案链接。
关键背景(避免「牛头不对马嘴」)
East View 是影印图片库,正文藏在图片里,靠 OCR 文本层检索与展示:
- 检索命中 ≠ 头条内容。 关键词常出现在版面里某条电讯、某段杂闻、某则供词、某段按语中,
而非该版头条/大块论说。所以必须抽取「关键词被命中的那段上下文」来概括,绝不能抓整栏总结——
之前整栏总结导致结论与关键词对不上,正是这个原因。 - OCR 把简体打成了繁体/异体(如 黄兴→黃興、袁世凯→袁世凱)。脚本用 opencc 自动把关键词转繁体去文本层命中;
若仍miss,可用--images下载「片段图」(搜索引擎高亮关键词的那块影印截图)由你用视觉核验。 - 该报立场随年代变化:清末(1911)多用「匪/乱党/窜」等贬词;民初以后立场复杂。引用须与革命党自述、《申报》等对照。
工作流程(多轮)
第 1 步:跑脚本取「前 10 条 + 总条数」
用带 opencc 的 Python 运行脚本(务必用下面这个 venv 解释器,否则 opencc 缺失会漏掉繁体命中):
C:/Users/sunya/.workbuddy/binaries/python/envs/default/Scripts/python.exe scripts/search_ssxb.py "<关键词>" --page 1
- 默认
--sort time(时间最早→最晚)、--per-page 10。 - 首次运行会在
ssxb_search_cache/建索引缓存(翻页累加出总条数,大词可能十几页、约半分钟);
后续--page 2/3...直接读缓存、只抓当页 10 条栏目,很快。 - 脚本输出:关键词、排序、「该关键词共 N 条搜索结果」、本页每条的(日期 / 版次 / docid / 档案深链 / 文本层命中数 / 关键词上下文片段)。
- 若某条文本层未直接命中且想核验,加
--images会下载该条片段图到ssxb_search_cache/。 - 沙箱/网络提示:脚本必须访问
gpa.eastview.com才能抓 East View 档案。若建立索引时以exit code 1退出且无报错,通常是 WorkBuddy 沙箱拦截了外网请求。此时必须让 agent 用dangerouslyDisableSandbox: true运行 Bash 调用,或让用户点界面上的「关闭沙箱重跑」按钮。
第 2 步:按「黄兴检索」格式写报告(⚠️ 必须落盘为 .md 文件)
依据脚本给的每条上下文片段(不是整栏)撰写,格式如下(用户已认可此格式)。
> 必须写成 .md 文件,不可只在对话窗口贴文本。 具体要求:
> - 文件名:时事新报_{关键词}搜索_时间序第N页.md(第 1 页=「前十条」、第 2 页=「第 11–20 条」…)。
> - 写入当前工作目录,随后用 present_files 呈现给用户。
> - 多页时每页一个独立文件(文件名带页码),不要覆盖上一页的文件。
> - 理由:用户明确要求结果落盘为文件,而非只留在聊天里。
- 开头:关键词、排序方式、总条数、时间跨度(最早/最晚日期)。
- 总览表:
# | 日期 | 版次 | 与关键词关系(强·一手 / 中 / 弱·整版命中)| 内容摘要。 - 逐条详述:每条给
日期(版次)、清洗后的命中片段原文、概述、评论/史料价值、以及档案深链(脚本已给)。 - 可靠性提醒:该报立场、OCR 失真(括号内为依史实校读补入之字)、片段图核验提示。
> 写的时候:OCR 噪音要清洗(删乱码、补可读断句),但不要把脚本没给的史实硬塞进去;
> 片段看不清处如实标注「OCR 难辨,建议点开档案链接核对」。
第 3 步:告知总条数 + 询问是否继续
报告末尾明确写出「该关键词共 N 条」,并问用户:「是否需要继续输出第 11–20 条(后十条)?」
第 4 步:用户确认则取下一页,循环
用户说要 → 运行:
...python.exe scripts/search_ssxb.py "<关键词>" --page 2
写出「第 11–20 条」报告,再问是否继续 --page 3…… 直到:
- 用户说停;或
- 脚本输出「(已无更多结果:第 X 页为空,全部 N 条均已输出完)」→ 告知用户已全部输出完毕。
进阶用法
- 换排序:
--sort relevance按相关性(默认时间)。注意时间序最能串出史料脉络。 - 直接贴检索 URL:若用户贴来 East View 的搜索链接(含
txq=关键词),脚本会自动抽取关键词。 - 重建索引:关键词或排序变了用
--refresh强制重抓。 - 测试控量:
--index-limit N只翻前 N 页建索引(开发用,正常使用不必加)。
依赖
- 标准库即可,唯需
opencc-python-reimplemented做简→繁转换(已在
C:/Users/sunya/.workbuddy/binaries/python/envs/default这个 venv 装好)。
若换机器运行,先path/to/venv/Scripts/pip.exe install opencc-python-reimplemented;
缺它时脚本仍可跑,但繁体关键词(黄兴类等)会漏命中,需用--images兜底。