{"id":27253497,"url":"https://github.com/landeyucc/imget","last_synced_at":"2026-04-30T09:36:32.756Z","repository":{"id":284716569,"uuid":"955800171","full_name":"landeyucc/Imget","owner":"landeyucc","description":"一个批量下载图片API内图片的简单轻量级下载工具。","archived":false,"fork":false,"pushed_at":"2025-04-10T20:01:58.000Z","size":524,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-11T01:54:41.328Z","etag":null,"topics":["download","downloader","imageapi","imagedownload","imagedownloader","imgapi","imgdownload","java","json"],"latest_commit_sha":null,"homepage":"https://imget.coldsea.vip","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/landeyucc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-27T08:09:00.000Z","updated_at":"2025-04-10T20:02:01.000Z","dependencies_parsed_at":"2025-03-27T10:37:38.787Z","dependency_job_id":null,"html_url":"https://github.com/landeyucc/Imget","commit_stats":null,"previous_names":["landeyucc/imget"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/landeyucc%2FImget","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/landeyucc%2FImget/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/landeyucc%2FImget/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/landeyucc%2FImget/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/landeyucc","download_url":"https://codeload.github.com/landeyucc/Imget/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248328108,"owners_count":21085258,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["download","downloader","imageapi","imagedownload","imagedownloader","imgapi","imgdownload","java","json"],"created_at":"2025-04-11T01:54:44.577Z","updated_at":"2026-04-30T09:36:32.750Z","avatar_url":"https://github.com/landeyucc.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 前言\n\n在现代网络环境中，随机分发机制的图片资源 API 服务日益普及。这些服务通常依赖庞大的图片资源库，难免会遇到需要获取这些图片的情况，但其随机性导致批量下载操作极为低效。手动下载不仅耗费大量人力，还面临数据一致性难以保证的问题。\n\n# Imget：高效图片资源批量下载工具\n\nImget 是一款专为解决图片资源 API 批量下载问题而设计的自动化工具。基于 Java 语言开发，程序名称由图片(img)与获取(get)结合而来，Imget 通过高效的多线程网络请求处理和数据存储机制，实现从指定 API 或网络资源中批量提取图片数据，并将其持久化到本地存储系统。\n\n## 功能特点\n\n1. **数据去重机制**  \n   针对 API 随机分发特性，Imget 内置基于 MD5 哈希值的校验算法，确保下载的图片数据唯一性。同时，程序在目标存储目录生成包含下载元数据的 JSON 文件，便于状态追踪和重复数据过滤，在下载异常终止时还可以通过读取 JSON 文件内保存的信息进行恢复。\n\n2. **高并发批量下载能力**  \n   支持无上限的批量下载任务，尤其在处理海量图片资源库时表现卓越。通过多线程的异步请求处理和分布式任务队列管理，Imget 提供默认2线程与高速16线程及64极限线程，能显著提升下载效率。\n\n3. **异常处理与断点续传**  \n   集成完善的错误恢复机制，支持网络中断、超时等异常场景下的自动重试功能。通过断点续传技术，确保任务在异常中断后能够从中断点继续执行，避免重复下载已成功获取的数据。\n\n4. **跨平台兼容性**  \n   基于 Java 虚拟机（JVM）架构，Imget 具备出色的跨平台特性，支持 Windows、Linux 和 macOS 等主流操作系统，确保在不同运行环境中的一致性。\n\n5. **图形化操作界面**  \n   提供直观的图形用户界面（GUI）与简洁的参数，简化操作流程，降低技术门槛，使用户无需依赖命令行工具即可完成复杂任务。\n\n## 使用场景\n\nImget 适用于以下场景：\n\n1. **云存储资源备份**  \n   从图片托管服务的 RESTful API 批量提取用户上传的图片数据，用于本地归档或数据迁移。\n\n2. **数据科学与机器学习**  \n   从公开数据集 API 下载图片样本，为计算机视觉模型训练提供高质量素材。\n\n3. **网络爬虫集成**  \n   作为爬虫框架的图片下载模块，通过 HTTP 请求拦截器捕获网页中的图片资源。\n\n4. **壁纸资源管理**  \n   自动化获取网络图片资源，用于桌面壁纸轮换或批量管理。\n   \n\n## 注意事项\n\n1. **流量消耗提醒**  \n   由于技术原理，需要先下载到图片文件才能对其进行 md5 校验，如果重复则删除，此过程会产生被大量浪费的流量，请悉知。众所周知，还存在另外一种通过检测源文件链接的方式来判断文件是否重复，但是个人在开发前就考虑到部分 API 是通过中转服务器或边缘计算服务进行的，它们直接就是通过 API 链接返回图片数据流而不是图片源链接，因此方案没有被采用，在未来的版本或许会更新兼容此方案。\n\n2. **规范下载提醒**  \n   部分 API 可能存在检测机制，当请求次数过多可能会被限制连接，即源服务器拒绝请求，新版 Imget 已经包含了线程限制与请求延迟等参数来适配源服务器允许的范围内获取图片文件，请用户规范自身行为，本程序仅用于个人研究为目的，请勿将下载的内容未经授权而用于商业化行为与非法行为，如造成任何严重后果与本程序无关。\n\n\n![Imget](https://files-plus.coldsea.vip/gitcp/imget/app.jpg)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flandeyucc%2Fimget","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flandeyucc%2Fimget","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flandeyucc%2Fimget/lists"}