唐山教育考试院最新消息抓取
Overview
本技能抓取 唐山教育考试院 官网(http://www.tsjyksy.cn/)的最新消息,自动区分 中考(中招/初中学业水平)与 高考(普通高考/成人高考/单招)相关内容,并打包为 zip 压缩包。适合市场、教务、考生服务等部门持续跟踪唐山本地升学考试政策动态。
工作流程
脚本 scripts/scrape_tsjyksy.py 自动完成以下步骤:
- 抓取首页「最新动态」:解析首页聚合的最新 20 条消息(自带栏目标签与日期,作为主数据源)。
- 补充栏目列表页:依次抓取
中招考试(cid=10)、普通高考(cid=6)、成人高考(cid=26)、单招信息(cid=9)列表页,提升中考/高考栏目的覆盖率。 - 去重 + 分类:按消息 URL 去重,依据「栏目标签 + 标题关键词」将每条归入
中考 / 高考 / 其他。 - 抓取正文:对站内
show.aspx详情页提取正文(gb2312 解码,按 div 深度截取<div id="content">并清理 Word 元数据);外部链接(河北省教育考试院、微信等)仅收录标题与链接。 - 生成输出并打包:按分类写入文件夹,产出
汇总报告.md、index.json,最后整体打包为.zip。
分类规则(命中即停)
| 判定条件(栏目标签或标题含关键词) | 归入 |
|---|---|
| 中招 / 中考 | 中考 |
| 高考(普通高考、成人高考) | 高考 |
| 单招(高职单招属高考招生体系) | 高考 |
| 其余:自学考试、研究生、自考、成人学历、中专、专升本、招聘等 | 其他 |
> 注:该站栏目名在导航栏与「最新动态」中偶有不统一(如 cid=9 导航显示「单招信息」、动态里显示「自学考试」),因此分类不只依赖栏目 id,而是用栏目标签名 + 标题关键词双重判定,更准确。
使用方法
直接在对话中要求即可,例如:
- 「抓取唐山教育考试院最新消息,区分中考高考,生成压缩包」
- 「帮我看看 tsjyksy.cn 最近有哪些高考政策更新」
WorkBuddy 会调用脚本,运行完成后把生成的 zip 压缩包 作为交付物呈现。
如需手动运行:
python3 scripts/scrape_tsjyksy.py --out ./tsjy_capture
# 可选参数:
# --max N 最多抓取详情页正文数量(默认 40)
# --no-detail 不抓取详情页正文(仅汇总列表)
# --no-lists 不补充抓取栏目列表页(仅首页最新动态)
输出结构
<输出目录>/
├── 中考/ # 中考相关消息正文 (.txt),每条一文件
├── 高考/ # 高考相关消息正文 (.txt)
├── 其他/ # 其余栏目消息正文 (.txt)
├── 汇总报告.md # 按 中考/高考/其他 分组的带链接清单
├── index.json # 机器可读的完整记录
└── <输出目录>.zip # 整体压缩包(最终交付物)
每个正文 .txt 文件开头含「标题 / 栏目 / 日期 / 分类 / 链接」元信息,随后是提取到的正文。
注意事项
- 网站使用 gb2312 编码,脚本已做兼容解码。
- 抓取通过 HTTP 明文协议,需联网;如运行环境无外网权限,脚本会报告抓取失败。
- 外部链接正文默认不抓取(避免反爬/登录限制),仅在汇总报告中保留标题与链接。
- 列表页补充的栏目可在脚本
SUPPLEMENT_CIDS常量中按需增减。