这是一个高级的 Python 爬虫脚本,用于从 PRTS.wiki 网站上批量下载《明日方舟》所有干员的高清立绘。
- 自动化流程:脚本能自动处理分页,无需任何手动操作。
- 智能命名:通过解析页面分类和标题,自动将图片以正确的干员中文名命名(例如
阿米娅.png)。 - 多线程下载:利用线程池并发下载图片,极大地提升了下载效率和速度。
- 健壮性设计:内置下载重试和连续失败则自动终止的机制,确保脚本稳定运行。
- 动态内容处理:使用
Selenium驱动真实的浏览器来获取由 JavaScript 动态加载的页面内容,有效应对现代网站的复杂性。 - 进度可视化:使用进度条显示下载进度、速度和预计剩余时间。
- 智能分类存储:按干员名称自动创建文件夹,将每位干员的立绘分类存储。
- 跳过已存在文件:自动检测目标文件夹中是否已存在同名文件,避免重复下载。
本脚本采用了一种高效且可靠的"混合模式":
- 浏览器模拟 (Selenium):启动一个真实的浏览器,访问
prts.wiki的图片搜索结果页面。通过在 URL 中迭代offset参数,脚本能够模拟"点击下一页"的操作,从而获取到所有包含"立绘"关键词的图片页面链接。 - 高效解析与下载 (Requests & BeautifulSoup):对于获取到的每个图片页面链接,脚本会切换回使用轻量级的
requests库进行访问和解析,以最高效率提取出最终的高清图片下载地址,并完成下载。
这种结合了 Selenium 和 Requests 的策略,既解决了动态内容加载的难题,又保证了后续数据处理和下载的高效率。
步骤 1:安装依赖
首先,请确保您已安装 Python。然后,在项目根目录下打开终端,运行以下命令来安装所有必需的库:
pip install -r requirements.txt注意:webdriver-manager 会在首次运行时自动为您下载和配置匹配您浏览器版本的驱动程序。
步骤 2:选择并运行脚本
项目包含两个版本的脚本:
arknights_final_scraper.py- 使用 Chrome 浏览器的版本arknights_scraper_edge.py- 使用 Edge 浏览器的版本
根据您的浏览器选择对应的脚本运行:
# 使用 Chrome 浏览器
python arknights_final_scraper.py
# 使用 Edge 浏览器
python arknights_scraper_edge.py脚本启动后,可能会弹出一个浏览器窗口(这取决于脚本中的设置),并开始自动执行所有抓取和下载任务。(仅 Edge 浏览器版本)您可以通过进度条实时查看下载状态。
所有图片将被下载到名为 Arknights_PRTS 的文件夹中,(仅 Edge 浏览器版本)并按干员名称分类存储。
Edge 浏览器版本增加了以下功能:
- 使用
tqdm库实现可视化进度条显示 - 按干员名称自动创建文件夹进行分类存储
- 增强了下载稳定性,改进了重试机制
- 优化了错误处理和用户体验
- 本项目仅用于个人学习和技术研究,严禁用于任何商业用途。
- 所有爬取内容的版权(包括但不限于图片、文字数据)归其原作者(鹰角网络 / Hypergryph)及 PRTS.wiki 社区所有。
- 用户在使用本脚本时,应自觉遵守相关法律法规及网站的服务条款。对于因使用本脚本而可能产生的任何风险或法律纠纷,项目作者概不负责。
- 请以友好的方式使用本脚本,尊重目标网站的服务器资源。脚本内置的延时和并发控制旨在实现这一点。