爬取bing每日壁纸并保存,顺带请教个问题
代码如下,问题是我下载好了壁纸,通过修改注册表也设置了壁纸,也更新了,但是实际桌面壁纸会灰屏,必须在运行一次,哪里的问题?求教import time,os,requests,win32api,win32gui,win32con
os.chdir(r'F:\bing每日图片')#指定存储目录
Timestamp=time.strftime("%Y-%m-%d",time.localtime())#获取 当前时间戳 年月日
headers={
'Referer':'https://cn.bing.com/',
'Sec-Fetch-Mode':'no-cors',
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36'
}#模拟电脑,设置请求头
r=requests.get('https://cn.bing.com',headers=headers)#将网页转换为文本文档
print(r.status_code)
if r.status_code==200:
id=r.text.split('href="/th?id=')[1].split('&')[0]#获取图片ID,掐头去尾
picid=requests.get('https://cn.bing.com/th?id='+id+'&rf=LaDigue_1920x1080.jpg&pid=hp',headers=headers).content#将图片转为二进制数据
pic=open(Timestamp+'.jpg','wb')#新建一个图片
pic.write(picid)#将图片的二进制数据写入图片
pic.close#关闭进程
time.sleep(1)#延时1毫秒
k=win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER,"Control Panel\\Desktop",0,win32con.KEY_SET_VALUE)#打开桌面菜单栏
win32api.RegSetValueEx(k,"WallPaper",0,win32con.REG_SZ, "D:\\bing每日图片"+'\\'+Timestamp+'.jpg')#设置壁纸
time.sleep(5)
win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER)#设置注册表之后立即生效
else:
win32api.MessageBox(0,'无法连接网络','警告',win32con.MB_OK|win32con.MB_ICONWARNING)#弹出警告消息框
好东西,喜欢收藏壁纸的来吧 哎,厉害了,我连这个也不会 我都手动的,蛋疼的是只能存近一周的,超过一周忘了存的话,就没办法了!
这工具能否抓取以前的?? 收藏一波 在win10商店里有一款应用叫Dynamic theme,可以实现每日替换和保存必应壁纸
需要把jpg图片转为bmp图片 unsuns 发表于 2019-11-29 11:43
我都手动的,蛋疼的是只能存近一周的,超过一周忘了存的话,就没办法了!
这工具能否抓取以前的??
我没测试,我的初衷只是想让我的桌面壁纸自动跟随bing,应该是可以的,我改改 SmileParadise 发表于 2019-11-29 12:05
在win10商店里有一款应用叫Dynamic theme,可以实现每日替换和保存必应壁纸
别人的工具是有很多,但是不是自己的{:1_937:}
页:
[1]