一个Python脚本,用于从URL下载电赛题目并把其中的图片垂直拼接成一张组合图片。
- 从URL列表下载竞赛题目网页
- 按顺序提取页面中的图片
- 垂直拼接图片以创建单个组合图片
- 将输出图片保存到
output/目录,并正确清理文件名 - 包含重试机制和适当的错误处理
- Python 3.x
- requests
- BeautifulSoup4
- Pillow (PIL)
- re (用于清理文件名)
- 安装所需包:
pip install requests beautifulsoup4 pillow- 激活虚拟环境(推荐):
source .venv/bin/activate # Linux/Mac
# 或
.venv\Scripts\activate # Windows-
创建
target_urls文件,每行写入一个要处理的URL -
运行脚本:
python paper_getter.py-
paper_getter.py: 主脚本,处理较新的页面结构(2022年以后)- 专为处理当前页面布局而设计
- 查找具有
content-desc和content-text类的元素
-
paper_getter_old.py: 专为2021年及以前竞赛题目设计的特殊脚本- 仅能提取2021年的赛题图片
- 不支持2020年及以前的年份的赛题获取
- 处理带有
newsMain-content-title等类的旧页面结构
处理后的图片保存在 output/ 目录中,文件名基于竞赛标题和时间戳,防止重复。
- 脚本在请求之间添加延迟,以对服务器友好
- 图片以PNG格式保存,以保持质量
- 文件名经过清理,移除可能有问题的字符