惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
N
Netflix TechBlog - Medium
大猫的无限游戏
大猫的无限游戏
爱范儿
爱范儿
Martin Fowler
Martin Fowler
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Register - Security
The Register - Security
IT之家
IT之家
博客园_首页
Microsoft Security Blog
Microsoft Security Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
I
InfoQ
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Jina AI
Jina AI
Apple Machine Learning Research
Apple Machine Learning Research
M
MIT News - Artificial intelligence
博客园 - Franky
C
Check Point Blog
T
The Blog of Author Tim Ferriss
V
Visual Studio Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Tailwind CSS Blog
Recent Announcements
Recent Announcements
云风的 BLOG
云风的 BLOG
美团技术团队
The Cloudflare Blog
Y
Y Combinator Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
MyScale Blog
MyScale Blog
The GitHub Blog
The GitHub Blog
D
DataBreaches.Net
Google DeepMind News
Google DeepMind News
V
V2EX
aimingoo的专栏
aimingoo的专栏
GbyAI
GbyAI
G
Google Developers Blog
S
SegmentFault 最新的问题
Hugging Face - Blog
Hugging Face - Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
U
Unit 42
罗磊的独立博客
量子位
MongoDB | Blog
MongoDB | Blog
Last Week in AI
Last Week in AI
Stack Overflow Blog
Stack Overflow Blog
小众软件
小众软件
D
Docker
人人都是产品经理
人人都是产品经理

小王子

再见十八班 腾讯云EdgeOne零元薅多个免费套餐教程 小组第三都能出线,世界杯的“死亡之组”已死 光荣入团 2026年美加墨世界杯观赛指南 疲劳驾驶新规怎么认定及如何处罚 涅槃重生,重返荣耀? 让AI写前端不难,难的是让它别那么AI里AI气 WordPress Studio:官方出品的本地开发神器 中考家长实录 · 一模后,签约、志愿、自招的两难抉择 暮春山行 · 农历二月末的闲情 从RSS订阅器到知识库:我的网站整合之路 编程赛变“文艺创作赛”,真没必要硬卷! 致百日誓师的你,以笔为剑,不负韶华 惊蛰无声 解锁不回老家的春节打开方式 十年乐视退休,新年换新机|TCL雷鸟鹤6 26 款 全在教我走路,没人教我开车 要等级还是分数? 寒假已来 十年雪落,东莞那场等了124年的相遇 2026年东莞中考报名,比以往时候来得要早些! 东莞记忆 新年寄语 Photoshop 2026, 让工具开始懂你 15类修辞金句助力写作提分 My Love 从“甩一甩”的旧时光,到“按一下”的新未来 冒姓琅琊 簪锋傲骨 数学奥林匹克小丛书 初中卷 哪吒之魔童闹海 唐探1900 三体 富爸爸穷爸爸 小狗钱钱 父与子 亲爱的汉修先生 孩子,你是在为自己读书 给孩子读诗 我和我的祖国 我的自传 小王子 时代广场的蟋蟀 快速搞定macOS Web环境:PHP+Nginx+MySQL+WordPress 配置指南 世界杯江湖帖,北美风云再起 打印作业的时代悖论:效率提升与“隐性学力”的流失 USACO题库与真题全攻略 苹果妙控鼠标开箱与简单体验 GESP编程等级认证全解析:从入门到竞赛的指南 网站那点事儿 CSP-J/S 复赛必备系统 NOI Linux 2.0 放了个假假 我不在江湖,但江湖都是我的人 孩子参赛参考!教育部2025-2028竞赛白名单赛事攻略 简明解读一下CCF CSP-J/S 2025首轮晋级规则 台风来了 2025 CCF第一轮认证CSP-S提高组真题及解析 2025 CCF第一轮认证CSP-J入门组真题及解析 教育部2025-2028学年全国性竞赛活动最新白名单解读 致旧时光里的暖与新学期的光 数学最值问题的十种常用解法 2025 CSP-J/S 考点大纲清单 汕头Citywalk:雨与味 编程浪潮下的2025:喧嚣与重构 寒来暑往,感恩相伴丨那些与生物、地理同行的时光 指尖轻旋,定格时光的温柔韵律 - 入手DJI Osmo Mobile SE 春日里的知行乐章 我们是冠军 CSP限龄了 2025年信息学赛考规划 驾驶证换证和车做保养 家有初中生,跟着B站学习“小四门”
GESP真题下载工具使用教程
老王 · 2026-04-20 · via 小王子

写在前面

小王子作为信息学竞赛和编程认证领域的常客,GESP(Grade Examination of Software Programming)真题是小王子备考过程中不可或缺的资料。但官网的真题分散在不同页面,手动下载整理非常耗时。今天分享一个Python工具,可以自动抓取GESP官网的真题列表,按时间范围筛选,并自动分类下载PDF文件。

先看效果:运行脚本后,输入数字选择范围,工具会自动解析页面、提取下载链接、按年份月份和编程语言分类保存。

工具特点

自动抓取:遍历官网分页,获取全部真题列表
智能筛选:支持查看最新真题、近一年真题或全部真题
自动分类:按C++、Python、图形化编程分类保存
本地缓存:真题列表保存为JSON,避免重复请求
彩色输出:终端显示更清晰

环境准备

1. 安装Python

确保你的电脑已安装Python 3.6或更高版本。在终端输入:

bash

python3 --version

如果没有安装,请前往python.org下载安装。

2. 安装依赖库

本工具需要requests和beautifulsoup4两个库。在终端执行:

bash

pip3 install requests beautifulsoup4

也可使用清华镜像加速:

bash

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple requests beautifulsoup4

3. 创建项目目录

bash

mkdir -p ~/Downloads/GESP
cd ~/Downloads/GESP

4. 创建工具文件

新建一个文本文件,命名为gesp.py,代码太多,可以前往文末下载。

5. 运行工具

在终端中进入项目目录,执行。
打开终端 / 命令行,切换到gesp.py所在的目录(比如下载到了 Downloads/GESP 文件夹)

bash

cd /Users/你的用户名/Downloads/GESP

执行脚本:

bash

python3 gesp.py

或者直接执行组合的代码:

bash

cd /Users/你的用户名/Downloads/GESP && python3 gesp.py

然后就会进行交互

text

正在检查真题列表...
正在加载页面: https://gesp.ccf.org.cn/101/1010/index.html
本页发现 10 条真题记录
正在加载页面: https://gesp.ccf.org.cn/101/1010/index_2.html
本页发现 4 条真题记录
检查完毕,共发现 14 条真题记录

交互流程

1. 选择时间范围

text

============================================================
GESP真题下载工具
============================================================
请选择要查看的真题范围:
1. 显示最新真题(最近一次发布)
2. 显示最近一年真题
3. 显示全部真题
0. 退出
============================================================
请输入对应数字:

2. 选择要下载的真题

输入数字后,工具会列出符合条件的真题。例如选择3(全部真题):

text

============================================================
真题列表
============================================================
1. 2026年3月GESP认证真题 2026-03-15 GESP2026年3月认证真题
日期: 2026-03-15
链接: https://gesp.ccf.org.cn/101/1010/10269.html
2. 2025年12月GESP认证真题 2025-12-29 GESP2025年12月认证真题
日期: 2025-12-29
链接: https://gesp.ccf.org.cn/101/1010/10242.html
3. 2025年9月GESP认证真题 2025-09-30 GESP2025年9月认证真题
日期: 2025-09-30
链接: https://gesp.ccf.org.cn/101/1010/10229.html
4. 2025年6月GESP认证真题 2025-06-29 GESP2025年6月认证真题
日期: 2025-06-29
链接: https://gesp.ccf.org.cn/101/1010/10217.html
......
============================================================
请输入要下载的真题序号 (0 退出):

3.确认下载

输入序号后,工具会解析详情页并显示找到的PDF文件。例如输入 1

text

正在解析真题详情页: https://gesp.ccf.org.cn/101/1010/10269.html
发现 18 个PDF文件
确认开始下载全部PDF文件?(y/n):

输入y开始下载。

text

开始下载全部PDF文件...
下载: CCF GESP 2026年3月认证 图形化编程 1级试题
保存到: /Users/alexwang/Downloads/GESP/GESP真题/2026_03/图形化编程/2026_03_图形化编程_1级.pdf
文件大小: 1.41 MB
下载进度: 100.0%
========================================
下载完成!
========================================
下载: CCF GESP 2026年3月认证 图形化编程 2级试题
保存到: /Users/alexwang/Downloads/GESP/GESP真题/2026_03/图形化编程/2026_03_图形化编程_2级.pdf
文件大小: 0.99 MB
下载进度: 100.0%
========================================
下载完成!
========================================
......
============================================================
下载完成
成功: 18 个
失败: 0 个
文件保存位置: /Users/你的用户名/Downloads/GESP/GESP真题
============================================================
是否继续操作?(y/n):

目录结构示例

text

GESP/
├── GESP真题/
│ └── 2026_03/
│ ├── 图形化编程/
│ │ ├── 2026_03_图形化编程_1级.pdf
│ │ ├── 2026_03_图形化编程_2级.pdf
│ │ ├── 2026_03_图形化编程_3级.pdf
│ │ └── 2026_03_图形化编程_4级.pdf
│ │
│ ├── C++/
│ │ ├── 2026_03_C++_1级.pdf
│ │ ├── 2026_03_C++_2级.pdf
│ │ ├── 2026_03_C++_3级.pdf
│ │ ├── 2026_03_C++_4级.pdf
│ │ ├── 2026_03_C++_5级.pdf
│ │ ├── 2026_03_C++_6级.pdf
│ │ ├── 2026_03_C++_7级.pdf
│ │ └── 2026_03_C++_1级.pdf
│ │
│ └── Python/
│ ├── 2026_03_Python_1级
│ ├── 2026_03_Python_2级
│ ├── 2026_03_Python_3级
│ ├── 2026_03_Python_4级
│ ├── 2026_03_Python_5级
│ └── 2026_03_Python_6级

├── gesp.py # 主程序

└── gesp_data.json # 真题列表缓存

常见问题

Q1: 运行时报错“No module named ‘requests’”
说明没有安装依赖库。执行:

bash

pip3 install requests beautifulsoup4

Q2: 下载速度很慢或失败
检查网络连接,或者手动将代码中的超时时间调大(timeout=60改为timeout=120)

Q3: 有些真题页面找不到PDF
GESP官网的部分旧真题可能只提供在线浏览而非PDF下载,工具会正常提示“未找到PDF文件链接”。

Q4: 如何更新已下载的真题列表?
直接重新运行脚本即可。工具会重新抓取官网并更新本地缓存文件gesp_data.json

Q5: 文件名乱码怎么办?
代码中已经对文件名做了清理和编码处理(sanitize_filename函数)。如果仍然出现乱码,检查终端的字符编码设置,或改用支持UTF-8的终端(如Windows Terminal、iTerm2)。

最后

最近折腾了一个oj插件,题库严重缺题,用这个来应应急还是不错的。

通用 Python版本 8kb 下载3

那年 • 今日

  • 2021年 侧栏随机日志图片
  • 2020年 评论人等级