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壁纸图片您配置的路径。
其他:Windows锁屏壁纸不复制小于50KB的文件,因为有时微软会让系统下载一些图标、二维码等小文件。
日志记录由原来调试期每天新建文件改为一个月新建log文件。
修改下载方式从异步改为同步,多文件按顺序逐个下载。
网络测试不通畅(ping失败)时也尝试下载。
( 若哪位大佬有Edge浏览器背景的接口,请传授小弟,不胜感激 ^_^ )
因Bing官方的图片说明中会存在一些特殊字符,导致文件保存失败,所以此次特别处理,将路径、文件名中不允许存在的字符替换为空。
因此,特意添加一个配置文件FileNameAddTitle=true若有不想将官方标题也作为文件名的,可以改为False。
FileNameAddTitle=false (另:FileNameLanguageIsEnglish=true 以英文名保存)
本想将程序用到的配置信息记录在JSON文件中,但考虑到ini文件格式简单可读性强,还可以添加注释信息,更适合非专业人员修改,比较亲民,所以最后还是用ini文件来记录配置信息。
程序运行记录了日志,大家可以通过日志文件获取到图片的下载路径。
2023-08-27:本人是刚接触C#的新手,看了基础入门教程和网上其他人的代码,学习之作,若有错漏之处,请指点斧正,不胜感激。
程序还有个BUG,目前不知该如何处理解决,继续学习之后再来修正。
程序源代码公开在Git上:
- github.com/gggplso/BingImageDownload
- gitee.com/gggplso/BingImageDownload
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。