[Python] 必应搜索主页的背景图片爬虫
一、概要:
必应搜索主页每天都会更新一张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] 必应搜索主页的背景图片爬虫相关推荐
- 新年了,用python编程设计有意义背景图片的一朵玫瑰花给心爱的人吧
新年了,用python编程设计有意义背景图片的一朵玫瑰花给心爱的人吧 在网上有很多画玫瑰的程序,可以放入pytharm中运行.我探索改进了一下,觉得做得可以个性化一点,这样送人玫瑰显得更有诚意.也为自 ...
- Ubuntu: 将bing主页的背景图片设置为桌面壁纸
Bing 虽然不是最好用的搜索引擎,但是对于 Bing 有一点我特别喜欢,那就是 Bing 每天都会在其主页展示一张高质量的.优美的图片.对于喜欢 Bing 主页的优美图片的人来说,可能会想要将 Bi ...
- OpenCV python GrabCut算法提取前景背景图片
OpenCV python GrabCut算法提取前景背景图片 处理图片:[lena_color.jpg] 手动mask[mask.jpg] import numpy as np import cv2 ...
- 【python--爬虫】千图网高清背景图片爬虫
最近有读者反映想要下载千图网的高清背景图片,但是需要会员才能下载,而且需要的量非常大,问博主有没有办法能免费下载这些图片. 付费,不存在的o( ̄▽ ̄)o!,博主今天讲解如何通过python爬取千图网的 ...
- 利用html 和css模仿必应搜索主页。(一)
以下为源代码.勿喷!! 很简单的基本功能实现,运用到css的一些属性,盒子模型 绝对定位等等! <html xmlns="http://www.w3.org/1999/xhtml&q ...
- 获取Bing主页的背景图片
一直对爬虫比较感兴趣,但是一直没有深入学习,浮于表面,每次有使用需求,就写一个,写完就完,没有总结过,也没有继续深入学习. 但是,作为一个奔三的程序员菜鸟,还是先不要自暴自弃,以后自爆的机会还很多~. ...
- python百度搜索url爬取 图片
这里以百度搜索为案例,搜索并下载图片 import requests # python HTTP客户端库,编写爬虫和测试服务器响应数据会用到的类库 import re # 导入正则表达式模块 impo ...
- python如何爬取图片_百度图片爬虫-python版-如何爬取百度图片?
上一篇我写了如何爬取百度网盘的爬虫,在这里还是重温一下,把链接附上: http://5912119.blog.51cto.com/5902119/1771391 这一篇我想写写如何爬取百度图片的爬虫, ...
- python如何爬取图片到指定文件夹论文_基于Python的图片爬虫程序设计
互联网中包含大量有价值的 数据,网络爬虫通过既定规则可 以自动地抓取互联网数据并下载 至本地存储.研究网络爬虫的工 作原理和基于 Python 网络信息爬 取技术模块功能,基于 Requests- B ...
- 如何为Github Pages设置动态的背景图片?
准备做什么? 使用必应词典时,一次无意的点击,跳到了必应搜索引擎界面,突然眼前一亮,我看到一张图片,没错,高清大图!还可以往前翻几页,有的图片非常震撼:更有意思的是,在必应搜索首页,每张图片的背后都会 ...
最新文章
- IDEA配置GitHub和Gitee
- JAVA共有几种窗体布局方式_在Java GUI程序开发中常见的三种布局管理器是什么
- Django(part39)--制作图书管理系统
- 【渝粤题库】广东开放大学 文化市场营销 形成性考核 (2)
- 前端学习(2775):方式2进行路由跳转
- 外设驱动库开发笔记23:AT24Cxx外部存储器驱动
- KubeEdge 1.3.0 部署
- win7资源监视器介绍
- matlab的四个取整函数!
- raid卡组不同raid_Linux 软件阵列与低端硬件阵列卡性能对比
- 活体检测 Domain Generalization via Shuffled Style Assembly for Face Anti-Spoofing 论文学习记录
- Tips: Disk Performance On FreeBSD
- 快手在线查询权重网站源码+接口
- 亚马逊aws 服务器删除_亚马逊aws服务器免费套餐及被扣款怎么办
- (matlab代码分享,可运行) 多技能员工排班调度多目标优化(技能熟练度包含学习型、遗忘型)(Part 1)
- 国产Linux操作系统Prayaya Q3国庆发行版发布下载linux操作系统下载
- uniapp小程序唤醒微信支付
- weui.js中的picker自定义实现移动端联动
- 携程2018 秋招编程题 - java
- EditText getText
热门文章
- 区块链开发者平台-u deserved it
- 计算机用三角函数时如何用弧度制,弧度制 三角函数的简单应用
- MPB:南农韦中组-​根系分泌物调控土壤微生物群落结构和功能的研究方法
- lisp画弯箭头_下篇-大神总结:CAD制图的43个技巧,都学会你就逆天了!
- Google seo图片优化技巧
- 手机b站封面提取网站_手机b站封面自定义图片大全及获取bilibili视频封面提取网站网址...
- opencv4图像基本变化
- 附合导线坐标计算例题_附合导线坐标计算
- zabbix监控系统--详细安装教程
- 【OpenStack】OpenStack系列17之OpenStack私有云设计一