一、概要:

必应搜索主页每天都会更新一张1080P的高清背景图片,非常适合用来做电脑壁纸,而每天手动操作去保存图片稍微有点麻烦,因此想到写个爬虫来下载背景图片。

二、页面分析:

进入必应搜索的主页:https://cn.bing.com/,右键选择“检查”来查看页面代码,发现背景图片的链接在页面head下即可找到,如下图所示:

复制出该链接,加上链接头cn.bing.com,即可得到主页背景图片。而且该图片是不含必应水印的图片,相较于直接另存为背景图片更好。由此,目标就是读取网页内容,获得位于head下link标签中的href元素内容,加上链接头,然后下载该图片。

三、代码实现:

在Python下,实现该功能的步骤如下:
(1)使用requests的get方法来获得网页内容;
(2)使用BeautifulSoup来解析页面的html代码;
(3)提取在head下link标签中的href元素;
(4)使用urllib下的urlretrieve方法将图片下载保存在本地。

具体代码实现如下:

# 导入第三方库
import requests
import urllib
from bs4 import BeautifulSoup
import os# 初始化参数
cnbing="https://cn.bing.com"# 读取网页数据并获得图片链接
res=requests.get(cnbing)
soup=BeautifulSoup(res.text,'html.parser').select('link')[0]
img_url=soup.get('href')
img_name=img_url.split('.')[1]
img_url=cnbing+img_url# 将图片保存在本地
path=os.getcwd()+'/'+img_name+'.jpg'
urllib.request.urlretrieve(img_url,path)

其中,使用BeautifulSoup以html.parser方法解析页面数据,并从数据中提取出含有link标签的所有内容,并选择其中的第一个元素。这样做的原因是因为在之前页面分析中可以看到,链接所处的标签位置就是head下的第一个link,因此使用select方法直接提取并得到第一个元素即可。

同时,为了区分每天不同图片,需要给每个图片一个唯一的名称。幸运的是,必应已经提供了唯一的图片链接,且链接内就包含了图片名。只需要直接从href元素内容中提取名称即可。

在代码中,将图片保存在了当前路径下,使用urllib.request.urlretrieve方法,提供图片链接和保存路径来保存内容。

如此一来,便可以使用该代码去爬取背景图片而不用手动操作了。还可以使用定时任务去固定地每天爬一次,这样就不会错过每天更新的背景图了。

–注:本文为原创,未经允许,禁止转载!–

[Python] 必应搜索主页的背景图片爬虫相关推荐

  1. 新年了,用python编程设计有意义背景图片的一朵玫瑰花给心爱的人吧

    新年了,用python编程设计有意义背景图片的一朵玫瑰花给心爱的人吧 在网上有很多画玫瑰的程序,可以放入pytharm中运行.我探索改进了一下,觉得做得可以个性化一点,这样送人玫瑰显得更有诚意.也为自 ...

  2. Ubuntu: 将bing主页的背景图片设置为桌面壁纸

    Bing 虽然不是最好用的搜索引擎,但是对于 Bing 有一点我特别喜欢,那就是 Bing 每天都会在其主页展示一张高质量的.优美的图片.对于喜欢 Bing 主页的优美图片的人来说,可能会想要将 Bi ...

  3. OpenCV python GrabCut算法提取前景背景图片

    OpenCV python GrabCut算法提取前景背景图片 处理图片:[lena_color.jpg] 手动mask[mask.jpg] import numpy as np import cv2 ...

  4. 【python--爬虫】千图网高清背景图片爬虫

    最近有读者反映想要下载千图网的高清背景图片,但是需要会员才能下载,而且需要的量非常大,问博主有没有办法能免费下载这些图片. 付费,不存在的o( ̄▽ ̄)o!,博主今天讲解如何通过python爬取千图网的 ...

  5. 利用html 和css模仿必应搜索主页。(一)

    以下为源代码.勿喷!! 很简单的基本功能实现,运用到css的一些属性,盒子模型  绝对定位等等! <html xmlns="http://www.w3.org/1999/xhtml&q ...

  6. 获取Bing主页的背景图片

    一直对爬虫比较感兴趣,但是一直没有深入学习,浮于表面,每次有使用需求,就写一个,写完就完,没有总结过,也没有继续深入学习. 但是,作为一个奔三的程序员菜鸟,还是先不要自暴自弃,以后自爆的机会还很多~. ...

  7. python百度搜索url爬取 图片

    这里以百度搜索为案例,搜索并下载图片 import requests # python HTTP客户端库,编写爬虫和测试服务器响应数据会用到的类库 import re # 导入正则表达式模块 impo ...

  8. python如何爬取图片_百度图片爬虫-python版-如何爬取百度图片?

    上一篇我写了如何爬取百度网盘的爬虫,在这里还是重温一下,把链接附上: http://5912119.blog.51cto.com/5902119/1771391 这一篇我想写写如何爬取百度图片的爬虫, ...

  9. python如何爬取图片到指定文件夹论文_基于Python的图片爬虫程序设计

    互联网中包含大量有价值的 数据,网络爬虫通过既定规则可 以自动地抓取互联网数据并下载 至本地存储.研究网络爬虫的工 作原理和基于 Python 网络信息爬 取技术模块功能,基于 Requests- B ...

  10. 如何为Github Pages设置动态的背景图片?

    准备做什么? 使用必应词典时,一次无意的点击,跳到了必应搜索引擎界面,突然眼前一亮,我看到一张图片,没错,高清大图!还可以往前翻几页,有的图片非常震撼:更有意思的是,在必应搜索首页,每张图片的背后都会 ...

最新文章

  1. IDEA配置GitHub和Gitee
  2. JAVA共有几种窗体布局方式_在Java GUI程序开发中常见的三种布局管理器是什么
  3. Django(part39)--制作图书管理系统
  4. 【渝粤题库】广东开放大学 文化市场营销 形成性考核 (2)
  5. 前端学习(2775):方式2进行路由跳转
  6. 外设驱动库开发笔记23:AT24Cxx外部存储器驱动
  7. KubeEdge 1.3.0 部署
  8. win7资源监视器介绍
  9. matlab的四个取整函数!
  10. raid卡组不同raid_Linux 软件阵列与低端硬件阵列卡性能对比
  11. 活体检测 Domain Generalization via Shuffled Style Assembly for Face Anti-Spoofing 论文学习记录
  12. Tips: Disk Performance On FreeBSD
  13. 快手在线查询权重网站源码+接口
  14. 亚马逊aws 服务器删除_亚马逊aws服务器免费套餐及被扣款怎么办
  15. (matlab代码分享,可运行) 多技能员工排班调度多目标优化(技能熟练度包含学习型、遗忘型)(Part 1)
  16. 国产Linux操作系统Prayaya Q3国庆发行版发布下载linux操作系统下载
  17. uniapp小程序唤醒微信支付
  18. weui.js中的picker自定义实现移动端联动
  19. 携程2018 秋招编程题 - java
  20. EditText getText

热门文章

  1. 区块链开发者平台-u deserved it
  2. 计算机用三角函数时如何用弧度制,弧度制 三角函数的简单应用
  3. MPB:南农韦中组-​根系分泌物调控土壤微生物群落结构和功能的研究方法
  4. lisp画弯箭头_下篇-大神总结:CAD制图的43个技巧,都学会你就逆天了!
  5. Google seo图片优化技巧
  6. 手机b站封面提取网站_手机b站封面自定义图片大全及获取bilibili视频封面提取网站网址...
  7. opencv4图像基本变化
  8. 附合导线坐标计算例题_附合导线坐标计算
  9. zabbix监控系统--详细安装教程
  10. 【OpenStack】OpenStack系列17之OpenStack私有云设计一