Python爬虫之提取Bing搜索的背景图片并设置为Windows的电脑桌面
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python爬虫之提取Bing搜索的背景图片并设置为Windows的电脑桌面,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1709字,纯文字阅读大概需要3分钟。
内容图文
??鉴于现阶段国内的搜索引擎还用不上Google, 笔者会寻求Bing搜索来代替。在使用Bing的过程中,笔者发现Bing的背景图片真乃良心之作,十分赏心悦目,因此,笔者的脑海中萌生了一个念头:能否自己做个爬虫,可以提取Bing搜索的背景图片并设置为Windows的电脑桌面呢?Bing搜索的页面如下:
??于是在一个风雨交加的下午,笔者开始了自己的探索之旅。当然,过程是曲折的,但笔者尝试着能把它讲得简单点。
??首先,我们需要借助一些Python模块的帮助,它们是:
- urllib
- selenium
- pywin32
当然,你的电脑上也需要安装PhantomJS, 因为,我们需要动态地爬取网页。
?? 好了,准备工作就绪。接下来就是Python代码时间了,完整的代码如下:
# -*- coding: utf-8 -*-
"""
此程序用于提取Bing搜索的背景图片并设置为Windows的电脑桌面
"""
from urllib.request import urlretrieve
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
import win32api,win32con,win32gui
#利用PhantomJS加载网页
browser = webdriver.PhantomJS()
# 设置最大等待时间为30s
browser.set_page_load_timeout(30)
url = ‘https://cn.bing.com/‘
try:
browser.get(url)
except TimeoutException:
# 当加载时间超过30秒后,自动停止加载该页面
browser.execute_script(‘window.stop()‘)
# 从id为bgDiv的标签中获取背景图片的信息
t = browser.find_element_by_id(‘bgDiv‘)
bg = t.get_attribute(‘style‘)
# 从字符串中提取背景图片的下载网址
start_index = bg.index(‘(‘)
end_index = bg.index(‘)‘)
img_url = bg[start_index+1: end_index]
# 下载该图片到本地
img_path = ‘E://Bing.jpg‘
urlretrieve(img_url, img_path)
# 将下载后的图片设置为Windows系统的桌面
# 打开指定注册表路径
reg_key = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER, "Control Panel\\Desktop", 0, win32con.KEY_SET_VALUE)
# 最后的参数:2拉伸,0居中,6适应,10填充,0平铺
win32api.RegSetValueEx(reg_key, "WallpaperStyle", 0, win32con.REG_SZ, "2")
# 最后的参数:1表示平铺,拉伸居中等都是0
win32api.RegSetValueEx(reg_key, "TileWallpaper", 0, win32con.REG_SZ, "0")
# 刷新桌面
win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER, img_path, win32con.SPIF_SENDWININICHANGE)
运行这个程序,稍等片刻,我们就会发现自己的电脑壁纸已经换成了今天Bing搜索页面的背景图片,真的是very amzing.
本次分享到此结束,欢迎大家交流~~
原文:https://www.cnblogs.com/jclian91/p/9574031.html
内容总结
以上是互联网集市为您收集整理的Python爬虫之提取Bing搜索的背景图片并设置为Windows的电脑桌面全部内容,希望文章能够帮你解决Python爬虫之提取Bing搜索的背景图片并设置为Windows的电脑桌面所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。