cheese233/gaokao-related-math
problems-scraper 爬取 出卷网 高考专区-数学试卷,转换为 JSONL 格式。 安装 pnpm install 用法 # 首次试跑 50 套 pnpm scrape:test # 全量爬取 (3027 套,约 5-6 小时) pnpm scrape:full # 增量爬取 (每天最新) pnpm scrape:resume 输出 data/ ├── jsonl/problems.jsonl # 每行一个 JSON 题目 └── images/<id>/ # 试卷配图(散点图/几何图等本地副本) state/ ├── state.json # 爬取状态(maxSeenDate / fromDate) └── seen.bin # 已抓试卷 ID 集合(断点续抓) Cron(每日增量) # 每天 3:00~6:00… See the full description on the dataset page: https://huggingface.co/datasets/cheese233/gaokao-related-math.
1401
problems-scraper
爬取 出卷网 高考专区-数学试卷,转换为 JSONL 格式。
安装
pnpm install用法
# 首次试跑 50 套
pnpm scrape:test
# 全量爬取 (3027 套,约 5-6 小时)
pnpm scrape:full
# 增量爬取 (每天最新)
pnpm scrape:resume输出
data/
├── jsonl/problems.jsonl # 每行一个 JSON 题目
└── images/<id>/ # 试卷配图(散点图/几何图等本地副本)
state/
├── state.json # 爬取状态(maxSeenDate / fromDate)
└── seen.bin # 已抓试卷 ID 集合(断点续抓)Cron(每日增量)
# 每天 3:00~6:00 间随机分钟执行($RANDOM 取 0~10799 秒延迟)
0 3 * * * sleep $((RANDOM \% 10800)) && /home/fedora/problems-scraper/scripts/cron.sh日志自动写入 logs/YYYY-MM-DD.log。无新内容时跳过提交和推送。
技术栈
- TypeScript + tsx(零构建,直接执行)
- jsdom(HTML 解析)
- mathml2latex(MathML → LaTeX 转换)
- p-limit(并发控制)
