做网站导航站、资源整理或者批量归档的时候,总会遇到同一件事:要把几十上百个网站的 favicon 存下来。手动一个个打开网站、右键保存,几十个域名就是半小时。这个小工具就是为了解决这个场景——给它一个域名列表,它把图标批量下载好,并按域名命名。
它的实现方式和常见的 favicon 抓取脚本不太一样:不访问目标网站,也不解析网页里的 <link rel="icon">,而是把域名直接拼进第三方图标接口的 URL 取图,按优先级逐个尝试,第一个通过校验的就保存下来。好处是不会因为目标站点挂了、改版了、加了防护而失败,代价是拿到的是接口缓存的那份图标。

夸克网盘下载地址:https://pan.quark.cn/s/a9959c899628
目录结构
website-favicon-downloader/
├── favicon_gui.exe # 图形界面程序(34.9 MB,已打包,双击即用)
└── src/ # 源代码
├── favicon_gui.py # 界面主程序:布局、语言切换、设置记忆
├── favicon_core.py # 核心逻辑:接口列表、下载、格式转换、双语文案表
├── favicon_gui.spec # PyInstaller 打包配置
└── favicon_gui.ico # 程序图标(含 16~256 共 7 个尺寸)
仓库里只有源代码和 exe。下面这些是运行时产物,首次运行时自动生成:
website_ico/ # 下载好的图标,按域名命名 successful_downloads.txt # 成功记录:域名,图标URL failed_downloads.txt # 失败记录:一行一个域名
功能特点
- 多接口兜底: 内置 7 个图标接口,前一个失败自动换下一个:
- 多线程下载: 线程数可调(1/2/3/4/5/6/8/10/16,默认 4)。实测 13 个域名单线程约 20 秒,4 线程 7.1 秒。
- 可统一保存格式: 四种选择:保持原样(默认)、统一 PNG、统一 ICO、统一 JPG。转换只换容器格式、不改图片尺寸——转 PNG/JPG 与原图尺寸完全一致;转 ICO 因为格式本身单边上限 256,超过的会等比缩到 256 并居中放进透明方形画布,小图不放大。
- 多语言支持:工具界面支持中文和英语切换
使用方法
① 准备域名列表: 新建一个 txt 文件,每行一个域名:
baidu.com
github.com
bilibili.com
https://www.zhihu.com/question/123
含 // 的行会自动截取域名部分,所以直接粘网址也可以。但不带协议又带路径的写法(例如 baidu.com/xxx)不会被截断,请避免这么写。
② 双击 favicon_gui.exe: 窗口标题会带版本号,例如「网站图标下载器 1.3」
③ 选文件并开始:点「浏览」选中刚才那个 txt,再点「开始下载」。界面会实时刷新进度条和日志,日志开头两行会打印当前版本、线程数、实际生效的保存格式和输出目录——排查问题时最该先看的就是这两行。
④ 取结果: 图标全部保存在 exe 同目录的 website_ico/ 里,文件名是「域名 + 扩展名」。成功和失败分别记录在 successful_downloads.txt 和 failed_downloads.txt。