微软 Bing 必应壁纸 4K UHD超高清壁纸 PHP/Python/EXE爬虫 自动下载

您所在的位置:网站首页 必应壁纸下载 微软 Bing 必应壁纸 4K UHD超高清壁纸 PHP/Python/EXE爬虫 自动下载

微软 Bing 必应壁纸 4K UHD超高清壁纸 PHP/Python/EXE爬虫 自动下载

2022-03-26 23:25| 来源: 网络整理| 查看: 265

52pojie 论坛必应壁纸爬虫(bing.ioliu.cn) 必应(bing.com)每日壁纸官方 API Bing 最高分辨率壁纸 必应4K 6K 8K UHD超高清壁纸自动下载保存(Python 脚本) Bing 最高分辨率壁纸 必应4K 6K 8K UHD超高清壁纸自动下载保存(PHP) 其他

文章目录X

微软 Bing 必应壁纸图片质量挺不错,有个爬取站(必应每日高清壁纸)做得不错,52pojie 论坛上有个工具爬取这个站2016年03月05日直至目前所有壁纸,虽然最大分辨率只有 1920*1080,但是很方便,速度也快,图片文件名是对应描述。

更多「高清壁纸」打包下载:Bing 必应壁纸图片打包下载、4K壁纸、iPhone 壁纸、8K壁纸……

52pojie 论坛必应壁纸爬虫(bing.ioliu.cn)

爬虫出处:52pojie 论坛 - YFAN

爬虫可以爬取 必应每日高清壁纸 2016年00月05日直至目前所有壁纸,使用很方便,Windows 打开程序,输入文件保存路径和开始爬取页码即可,速度也快,图片文件名是对应描述。缺点是只能选取开始页码,并且无法增量更新。

2016年03月05日~2020年08月07日,一共1606张壁纸,大小也就 400M+

爬虫备用下载:网盘

必应(bing.com)每日壁纸官方 API

获取必应(bing.com)每日壁纸 json 格式数据:https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=ZH-CN

这里有三个GET参数,它们的作用分别是:

n,必要参数,输出信息的数量。比如n=1,即为1条,以此类推,至多输出8条。 format,非必要。返回结果的格式,不存在或者等于xml时,输出为xml格式,等于js时,输出json格式。 idx,非必要。不存在或者等于0时,输出当天的图片,-1为已经预备用于明天显示的信息,1则为昨天的图片,以此类推,idx最多获取到前16天的图片信息。 mkt,非必要,默认根据访问IP地址返回所在地区数据,指定 mkt=ZH-CN 返回中国区数据,其它可选地区:EN-US, JA-JP, EN-AU, EN-UK, DE-DE, EN-NZ, EN-CA(区分大小写)。

实例,将n设定为1、format设定为js、idx设定为1,mkt设定为ZH-CN,发出GET请求,会得到如下返回数据(json 已做格式化处理):

{ "images": [ { "startdate": "20210722", "fullstartdate": "202107221600", "enddate": "20210723", "url": "/th?id=OHR.TokyoMetropolis_ZH-CN2580870845_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp", "urlbase": "/th?id=OHR.TokyoMetropolis_ZH-CN2580870845", "copyright": "东京塔,日本东京都港区 (© Yukinori Hasumi/Getty Images)", "copyrightlink": "https://www.bing.com/search?q=%E4%B8%9C%E4%BA%AC%E5%A1%94&form=hpcapt&mkt=zh-cn", "title": "", "quiz": "/search?q=Bing+homepage+quiz&filters=WQOskey:%22HPQuiz_20210722_TokyoMetropolis%22&FORM=HPQUIZ", "wp": true, "hsh": "05f1b0f611aac8f7d41c10f722cd2d38", "drk": 1, "top": 1, "bot": 1, "hs": [] } ], "tooltips": { "loading": "正在加载...", "previous": "上一个图像", "next": "下一个图像", "walle": "此图片不能下载用作壁纸。", "walls": "下载今日美图。仅限用作桌面壁纸。" }}

其中的「images」节点下的「url」值便是我们要获取的图像地址。把它取出来,再加上 Bing 网址前缀「http://cn.bing.com」即组合成了完整的图像地址。比如说上面返回数据的完整图像地址是:

http://cn.bing.com/th?id=OHR.TokyoMetropolis_ZH-CN2580870845_1920x1080.jpg

另外,把 _1920x1080 换成 _UHD(也可以理解为 「images」节点下的「urlbase」值拼接 _UHD.jpg)可以得到更高分辨率壁纸,比如 4K,6K,8K……

http://cn.bing.com/th?id=OHR.TokyoMetropolis_ZH-CN2580870845_UHD.jpg

并不一定可以获取到 UHD 壁纸,有时候当天必应壁纸为 MP4 视频时,一般只能获取到常规的 1920x1080 分辨率壁纸。

这个是 PHP/Python/Java 等工具/爬虫 自动下载必应壁纸基础。

附:官方 API 根据访问 IP 地址返回对应地区数据,外国 IP 试过几个指定 cn 方法也获取不到中文数据。

Bing 最高分辨率壁纸 必应4K 6K 8K UHD超高清壁纸自动下载保存(Python 脚本)

这是后来找到的爬虫,目前在 VPS 每天自动爬取,然后保存到 OneDrive。优点是可以爬取到最高分辨率,有些壁纸可能有十几兆或者更大,缺点是不是以壁纸描述作为文件名称,另外加上检测是否已经下载可能会更好。

必应默认加载1080P图片作为背景,然而背景的最大分辨率远不止1080P。经过60天的爬虫抓取,获取的图片中最大的超过8K,平均维持在4K水平。

完整代码:

# 用于爬取Bing首页背景,获得UHD+分辨率的图片。import requestsimport reimport timefrom PIL import Imageimport os# 使用本机UAheader = { "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36"}html = requests.get('https://cn.bing.com/', headers=header).text

# 正则表达式寻找图片URL并尝试将之更改为高分辨率图片地址img_id = re.findall(r'.*?background-image:url\((.*?)&.*?', html)img_fhd = img_id[0]img_uhd = img_fhd.replace('1920x1080', 'UHD')img_url = "https://cn.bing.com"+img_uhdprint(img_url)

# 以年月日命名图片,并储存到本地。name = time.strftime('%Y%m%d')+'.jpg'img = requests.get(img_url)with open(name, 'wb') as f: f.write(img.content) f.close()print('Save as', name)

# 获取图片尺寸path = os.path.join(os.getcwd(), name)img_file = Image.open(path)

# 异常情况处理,即当天图片不符合要求,一般出现在当天背景为MP4的情况下if(img_file.width < 250): img_url = "https://cn.bing.com"+img_fhd img = requests.get(img_url) with open(name, 'wb') as f: f.write(img.content) f.close() print('Save as', name) img_file = Image.open(path)

# 通过ServerChan发送通知到微信data = { 'text': 'Bing首页图片已抓取', 'desp': name+str(img_file.size)}requests.post( 'https://sc.ftqq.com/{Key}.send', data=data)

详细介绍参考原文:Chores · 备份:1387-Bing最高分辨率图片爬取-Chores

Bing 最高分辨率壁纸 必应4K 6K 8K UHD超高清壁纸自动下载保存(PHP)

原代码出处:孟坤博客 - 使用PHP抓取Bing每日图像并为己所用

原代码如下:



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3