1 Star 0 Fork 0

gggplso / BingImageDownload

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

BingImageDownload

Bing Image Download 必应每日壁纸下载

【版权】仅限于壁纸使用。它们是受版权保护的图像,因此您不应将其用于其他目的,但可以将其用作桌面壁纸。
本程序采用的是Bing官方公开的接口,是通过JSON数据提取下载路径,从Bing官网下载图片。不排除以后下载会因Bing的调整而失效。

配置文件说明

本程序为C#编写的控制台应用程序,通过读取ini文件来设定下载参数,具体如下:

【说明】
url6=&qlt=100 表示下载同分辨率下的大文件,若不想下载大文件则留空。
DaysAgo=0 取值0-7,表示取几天之前的图片,0为今天。
AFewDays=8 取值1-8,表示当前下载几天的图片,1为只下载今天的图片。
所以这两个配置参数设置结合,理论上可以下载15天的图片。(听说Bing以前提供的天数更多,现在限制了访问,所以不排除Bing官方以后可能会调整)
PixelResolution=UHD 表示下载高分辨率的图片,比如3840x2160,其他值则是下载默认的,比如1920x1080。
FileNameLanguageIsEnglish=false 表示下载的默认文件名用中文,=true则表示文件名用英文。
FileNameAddTitle=true 是否加上Bing官方对图片的标题说明作为文件名。
Overwrite=true表示若有同名文件时重新下载覆盖原文件,其他值(如false)则保留原文件不重新下载。
DownloadPath= 设置保存的路径,不配置(等号右侧留空)则表示下载文件保存到程序所在的Picture目录。
NetWaitTime=2000 表示若网络中断尝试重新连接等待的时间为2秒。
NetRetryCount=5 表示连接网络最大重试次数为5次。
AutoExit=1 表示程序运行完自动退出。
ExitTime=3000 表示退出时等待时间为3秒。
Switch=on 表示开启复制Windows聚焦的图片到指定目录。

辅助说明

可以将下载文件直接配置到您电脑壁纸所在的目录中,然后添加开机启动项,每天它自动下载就好。

  • 因为目的是想每天开机自动下载,无需人为干预,所以建议将程序添加到开机启动项里,自动运行,将下载的默认路径DownloadPath=配置到您的Win11自动轮换壁纸的目录(Win11:设置-个性化-背景………………)。

【辅助】
Win11系统添加到开机启动项:
在本程序文件BingImageDownload.exe点击 右键-发送到桌面快捷方式。
在系统开始菜单上点击右键-运行,输入shell:startup回车确定,系统自动打开一文件夹:开始菜单-程序-启动(...\Start Menu\Programs\Startup), 将刚才桌面上创建的快捷方式拖入到此文件夹中即可。

  • 另外也可以通过配置Windows计划任务,来实现隐藏控制台应用的小黑框弹出,既可以按计划运行,又可以不受打扰实现自动下载。 (控制面板 - Windows工具 - 任务计划程序 - 新建 - 常规 - 不管用户是否登陆都要运行 - 隐藏)
  • 因为Bing官方有时因特殊事件,会在同一天放出两张图片,所以同时加入开机启动项和计划任务,早上执行一次,下午执行一次,让本程序自动运行或许会有意外收获。
  • Windows任务计划调用exe程序无log文件的处理:任务计划程序启动目录默认是C:\Windows\SysWOW64目录,日志文件实际上也写到了这个目录下面(C:\Windows\SysWOW64\Log),而不是应用程序所在目录。 因此日志要生成到我们exe程序所在的目录下,需要在 计划任务-配置-操作 中的 起始于选项设置路径。(触发器:工作站解锁时;详细信息:当解锁任何用户的工作站时;操作:程序或脚本添加本程序;起始于(可选):添加本程序所在目录的路径如:D:\Program Files\BingImageDownload)

额外功能

【额外】
添加了复制Windows聚焦图片到指定的目录。
Win10系统之后,锁屏设置里有个功能是显示Window聚焦图片,系统会每天下载不同的图片到Windows目录中。因为系统目录藏的有点深,本功能只是将其中大于50KB的图片文件复制到你指定的目录,并不负责下载更新,一切以您的系统设置为基准。
配置文件中的[WindowsSpotlight]节点下Switch=的值是on时开启复制,复制的目标路径同下载Bing壁纸图片您配置的路径。

修改日志

2023-08-27:上传第一个版本
2023-08-29:添加了网络是否通畅的判断 增加配置文件bing.ini的网络参数节点[NetworkInformation],若程序运行时网络无法连接,将按该节点下的参数配置来决定重新连接的次数和等待时间。(修正原因:程序添加到了开机启动项,自动运行时网络有可能因刚开机而尚未连接,需要等待……)
2023-09-05:添加复制Windows聚焦图片到指定目录
2023-09-09:发布不依赖框架的独立单文件版本 增加配置文件bing.ini的下载设置`Overwrite=true`表示若有同名文件时重新下载覆盖原文件,其他值则保留原文件不重新下载。(修正原因:程序添加到了开机启动项自动运行下载壁纸图片,有时会因为未开机而错过,所以可以将配置[AFewDays=8] 取值设置为8,表示当前下载8天内的所有图片,配置[Overwrite=false]设置为当文件已存在时,不用重新下载。由此来避免短期内因没开机而未下载精美壁纸图片……)
其他:Windows锁屏壁纸不复制小于50KB的文件,因为有时微软会让系统下载一些图标、二维码等小文件。  
     日志记录由原来调试期每天新建文件改为一个月新建log文件。  
     修改下载方式从异步改为同步,多文件按顺序逐个下载。  
     网络测试不通畅(ping失败)时也尝试下载。  
2023-09-13:修复了一些小问题 黔驴技穷,所以短期内应该不会再更新了,目前暂时就这样了…… 感谢大家的支持。
( 若哪位大佬有Edge浏览器背景的接口,请传授小弟,不胜感激 ^_^ )
2023-10-24:修复了非法文件名导致保存文件失败的Bug
因Bing官方的图片说明中会存在一些特殊字符,导致文件保存失败,所以此次特别处理,将路径、文件名中不允许存在的字符替换为空。  

因此,特意添加一个配置文件FileNameAddTitle=true若有不想将官方标题也作为文件名的,可以改为False。
FileNameAddTitle=false  (另:FileNameLanguageIsEnglish=true 以英文名保存)  
2024-01-19:添加Windows服务,通过搭建系统服务来实现后台无感自动下载Bing每日图片及复制Windows聚焦图片到指定目录 Windows服务是(.NET Framework),外加一个WinForm窗体来可视化配置参数设置。 依赖框架,Release版本详见:\Release-编译程序\BingImageDownloadServer

其他

本想将程序用到的配置信息记录在JSON文件中,但考虑到ini文件格式简单可读性强,还可以添加注释信息,更适合非专业人员修改,比较亲民,所以最后还是用ini文件来记录配置信息。

程序运行记录了日志,大家可以通过日志文件获取到图片的下载路径。

2023-08-27:本人是刚接触C#的新手,看了基础入门教程和网上其他人的代码,学习之作,若有错漏之处,请指点斧正,不胜感激。
程序还有个BUG,目前不知该如何处理解决,继续学习之后再来修正。

程序源代码公开在Git上:

  • github.com/gggplso/BingImageDownload
  • gitee.com/gggplso/BingImageDownload

空文件

简介

Bing Image Download 必应每日壁纸(自动)下载 展开 收起
C# 等 2 种语言
取消

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/gggplso/BingImageDownload.git
git@gitee.com:gggplso/BingImageDownload.git
gggplso
BingImageDownload
BingImageDownload
main

搜索帮助

344bd9b3 5694891 D2dac590 5694891