微软 Bing 必应壁纸图片质量挺不错,有个爬取站(必应每日高清壁纸)做得不错,52pojie 论坛上有个工具爬取这个站2016年03月05日直至目前所有壁纸,虽然最大分辨率只有 1920*1080,但是很方便,速度也快,图片文件名是对应描述。
(解压密码 1024)
52pojie 论坛必应壁纸爬虫(bing.ioliu.cn)
爬虫出处:52pojie 论坛 - YFAN
爬虫可以爬取 必应每日高清壁纸 2016年00月05日直至目前所有壁纸,使用很方便,Windows 打开程序,输入文件保存路径和开始爬取页码即可,速度也快,图片文件名是对应描述。缺点是只能选取开始页码,并且无法增量更新。
2016年03月05日~2020年08月07日,一共1606张壁纸,大小也就 400M+
爬虫备用下载:网盘
Bing 最高分辨率图片爬取
这是后来找到的爬虫,目前在 DigitalOcean VPS 每天自动爬取,然后保存到 Google Drive。优点是可以爬取到最高分辨率,有些壁纸可能有十几兆或者更大,缺点是不是以壁纸描述作为文件名称。
必应默认加载1080P图片作为背景,然而背景的最大分辨率远不止1080P。经过60天的爬虫抓取,获取的图片中最大的超过8K,平均维持在4K水平。
完整代码:
# 用于爬取Bing首页背景,获得UHD+分辨率的图片。
import requests
import re
import time
from PIL import Image
import os
# 使用本机UA
header = {
"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_uhd
print(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.com)每日壁纸官方 API
获取必应(bing.com)每日壁纸 json 格式数据:https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1
不过官方 API 根据访问 IP 地址返回对应地区数据,外国 IP 试过几个指定 cn 方法也获取不到中文数据。
其他
爬虫还有很多,有需要搜索一下就有:比如 php 爬取作为 WordPress 壁纸;每天自动更换壁纸……
还有这个也网站支持下载高分辨率 Bing 壁纸,看着也不错,想折腾一个,不过好像写不来……
必应有些壁纸图片还是挺不错。有图片,图片点进去还有介绍。
@saber 对,有壁纸有故事~
挺喜欢BING壁纸的,但一般用最原始的方法——手动下载~~~
如果遇到比较忙或是忘了的时候,就会有遗漏了,555
@风雨行者 手动很容易遗漏。