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

推荐订阅源

罗磊的独立博客
SecWiki News
SecWiki News
酷 壳 – CoolShell
酷 壳 – CoolShell
爱范儿
爱范儿
量子位
M
MIT News - Artificial intelligence
GbyAI
GbyAI
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
TaoSecurity Blog
TaoSecurity Blog
博客园 - 【当耐特】
H
Heimdal Security Blog
腾讯CDC
The Last Watchdog
The Last Watchdog
Security Archives - TechRepublic
Security Archives - TechRepublic
Hacker News: Ask HN
Hacker News: Ask HN
S
Schneier on Security
Microsoft Security Blog
Microsoft Security Blog
WordPress大学
WordPress大学
博客园 - 司徒正美
Recent Commits to openclaw:main
Recent Commits to openclaw:main
C
Cybersecurity and Infrastructure Security Agency CISA
S
SegmentFault 最新的问题
大猫的无限游戏
大猫的无限游戏
Application and Cybersecurity Blog
Application and Cybersecurity Blog
F
Full Disclosure
有赞技术团队
有赞技术团队
T
Tailwind CSS Blog
Engineering at Meta
Engineering at Meta
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
T
Threatpost
月光博客
月光博客
A
Arctic Wolf
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
雷峰网
雷峰网
T
Troy Hunt's Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The Cloudflare Blog
D
DataBreaches.Net
O
OpenAI News
L
LINUX DO - 最新话题
宝玉的分享
宝玉的分享
小众软件
小众软件
V
Vulnerabilities – Threatpost
A
About on SuperTechFans
人人都是产品经理
人人都是产品经理
T
The Exploit Database - CXSecurity.com
Martin Fowler
Martin Fowler
美团技术团队
P
Privacy International News Feed

小王子

小组第三都能出线,世界杯的“死亡之组”已死 光荣入团 2026年美加墨世界杯观赛指南 疲劳驾驶新规怎么认定及如何处罚 涅槃重生,重返荣耀? 让AI写前端不难,难的是让它别那么AI里AI气 WordPress Studio:官方出品的本地开发神器 中考家长实录 · 一模后,签约、志愿、自招的两难抉择 暮春山行 · 农历二月末的闲情 从RSS订阅器到知识库:我的网站整合之路 编程赛变“文艺创作赛”,真没必要硬卷! 致百日誓师的你,以笔为剑,不负韶华 解锁不回老家的春节打开方式
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年 评论人等级