本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

以下文章来源于编码珠玑 ,作者刘亚曦

Python爬虫、数据分析、网站开发等案例教程视频免费在线观看

https://space.bilibili.com/523606542

想必大多数小伙伴们已经对百度搜索的广告推荐机制深痛恶绝了,但凡哪怕涉及到一点点商业内容的搜索,出来的结果几乎全是广告。其实,除了谷歌搜索外,还有一个小众的搜索引擎,效果也并不比百度差多少,关键是搜索结果几乎没有广告,他就是微软的亲儿子,必应搜索。

每次打开必应搜索,我们都会看到一张精美的背景图片,而且每天都更新。之前微软还提供了每张图片的下载地址,后来就直接取消了。但是如果我们能够获取这些背景图片并把它们设为电脑壁纸,岂不是一件很有趣的事情呢,那么如何才能获取到这些照片呢,今天我手把手教你写个Python脚本来抓取必应搜索的背景图片。

首先,我们安装IDE,这里我选择Python最流行的PyCharm,大家可以到官网上下载:

https://www.jetbrains.com/pycharm/download/#section=windows

安装方法非常简单,直接下一步就行。

安装完成后,打开IDE,我们创建一个Python的项目

完成后,还要事先安装几个库,方便我们后面写代码使用,分别是:

request

BeautifulSoup4

lxml

安装方法很简单,我们点击编译器左上角的File->Settings弹出对话框:

我们双击上图中的pip,在弹出的对话框里面分别搜索上面罗列的三个库名字,然后点击左下角的InstallPackage即可完成安装:

完成以后,我们开始写代码:

首先我们引入四个我们需要的包代码:

if __name__=='__main__':for i in range(8):url = 'https://cn.bing.com/HPImageArchive.aspx?idx={}&n=1'.format(i)html = get_page(url)soup = BeautifulSoup(html, 'lxml')text = soup.find(name='url').stringimg_url = 'https://cn.bing.com' + textimg_name = re.match('^/th\?id=(.*?)&', text).group(1)download(img_url, '填你自己想保存的文件路径c:/..', img_name)

然后我们定义一个get_page的函数来获取request请求得到的网页内容,不过为了伪装成浏览器访问,我们这里要更改一下User-Agent字段:

def get_page(url):headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36'}response = requests.get(url, headers=headers)if response.status_code == 200:     #响应状态码表示服务器对请求的响应结果。200代表服务器响应成功,403代表禁止访问,404代表页面未找到return response.text

再来定义一个下载图片的函数download,传入的参数包含图片的url路径,你自己定义的文件夹路径还有图片的名称:

def download(url, path, fname):response = requests.get(url)if response:with open(os.path.join(path, fname), 'wb') as f:f.write(response.content)print('successful: {} .'.format(fname))else:print('faild: {}.'.format(fname))

好了,上面两个主要的函数定义好了以后,我们再定义main函数,来不断调用他们,注意download函数的路径要填写你自己的文件夹路径。由于必应官方只保存了八张原图,所以我们就简单粗暴地只循环8次即可,代码如下:

if __name__=='__main__':for i in range(8):url = 'https://cn.bing.com/HPImageArchive.aspx?idx={}&n=1'.format(i)html = get_page(url)soup = BeautifulSoup(html, 'lxml')text = soup.find(name='url').stringimg_url = 'https://cn.bing.com' + textimg_name = re.match('^/th\?id=(.*?)&', text).group(1)download(img_url, '填你自己想保存的文件路径c:/..', img_name)

好了,上面就是完整的代码内容,我们试着运行一次:

结果完全没问题,看文件夹里面的图片也保存下来了:

随便打开一张,都是非常精美的:

有没有发现图片非常的漂亮,随便找一张设置成电脑桌面看一下效果吧:

可以看到效果非常的精美。

Python抓取必应搜索背景图片相关推荐

  1. python美女源代码_单身程序员,每晚用python抓取百万张美女图片,连女友都不想找了...

    每当夜深人静时,这位长期单身的程序员就会起床开电脑,然后用python抓取百万张美女图片,存进U盘,目的目前还不知道,但技术是万能的,这样一来,可能连找女朋友的钱都省了. 其实,还有更好看的! 而且还 ...

  2. python抓取google搜索结果

    1. 搜索引擎的选取 选择一个好的搜索引擎意味着你能够得到更准确的搜索结果.我用过的搜索引擎有四种:Google.Bing.Baidu.Yahoo!. 作为程序员,我首选Google.但当我看见我最爱 ...

  3. [Python] 抓取必应每日一图,设置为桌面壁纸

    在Windows 10 64位系统环境下,使用 Python 3.6 进行图片抓取和设置壁纸操作. 其中,图片链接 https://area.sinaapp.com/bingImg/ 为 Bing 每 ...

  4. python新闻关键词次数_使用python抓取百度搜索、百度新闻搜索的关键词个数

    由于实验的要求,需要统计一系列的字符串通过百度搜索得到的关键词个数,于是使用python写了一个相关的脚本. 在写这个脚本的过程中遇到了很多的问题,下面会一一道来. ps:我并没有系统地学习过pyth ...

  5. python 抓取头条街拍图片

     #抓取头条图片,存入文本文件 #根据崔大庆视频整理 import requests import re import json import os from requests.exception ...

  6. python3 抓取必应bing首页图片作为桌面背景

    网上找到的在python3下都不能用,于是动手修改了一下,测试可用. Python 版本:3.5.1 系统:win10 x64 需要安装的包: pip install pypiwin32 代码: im ...

  7. python爬取百度百科搜索结果_用Python抓取百度搜索结果,python,爬取,的

    前言 前几天爬的今天整理了一下发现就两个需要注意的点 一是记得用带cookie的方式去访问,也就是实例化requests.session() 二是转化一下爬取到的url,访问爬到的url得到返回的Lo ...

  8. python抓取微博评论的图片_用Python语言爬虫抓取微博评论图文教程

    提交Cookie信息模拟微博登录 需要爬取登录之后的信息,大家都是望而止步,不要担心,今天呢,给大家提供一个超级简单的方法,就是提交Cookie信息登录微博,首先,我们找到某明星的微博网址:http: ...

  9. python抓取word中的图片并另存为

    #!/usr/bin/env python # coding:gbkimport os,zipfile,shutildef getimage(docdir):os.chdir(docdir)dirli ...

  10. python获取网页图片_python抓取网页中的图片示例

    python抓取网页中的图片示例 代码如下: #coding:utf8 import re import urllib def getHTML(url): page = urllib.urlopen( ...

最新文章

  1. Python IDE ——Anaconda+PyCharm的安装与配置
  2. The differences between capturing and bubbling
  3. Android Studio MAT内存分析初探
  4. Dubbo-Admin 功能展示与实操解析
  5. arduino 勘智k210_如何评价嘉楠耘智的勘智K210芯片?
  6. 数据库修改,删除的操作必须有保险操作。
  7. sql server创建数据库与相关查询操作
  8. .net 笔记尝试(二)
  9. 第3章 变量和表达式
  10. mac 使用 pf 做端口转发
  11. 【数据结构笔记29】最小生成树问题:Prim算法与Kruskal算法
  12. html打字练习测试代码,JS实现简单打字测试
  13. autojs之快捷键
  14. 数字逻辑练习题(二)
  15. 介词for和with 和of的用法_to for of with的用法区别
  16. 2015最好用的PHP开源建站系统
  17. 记录向 | 爬虫 | 裁判文书爬取(java)
  18. 猫哥教你写爬虫 019--debug-作业
  19. 数据分析师-SQL笔试题-做透这道题就够了
  20. 手机录制的视频怎么旋转回来

热门文章

  1. 男人必看十大电影 VS 女人必看十大电影
  2. 解决Tomcat运行内存不足问题
  3. Arcgis入门,十分钟快速出图
  4. JS定时器原理及案例
  5. ie属性中程序中的internet程序中的html编辑器为空,修改Internet Explorer(IE)查看源文件中的编辑器的方法...
  6. SpringBoot实战笔记:记一次接口406错误的解决
  7. Glide图片框架使用详细介绍(一),kotlin从入门到进阶实战电子书
  8. 13个测试网站访问速度的服务网站
  9. 3G UMTS与4G LTE核心网(一):移动核心网基础
  10. 用WebCollector 2.x爬取新浪微博(无需手动获取cookie)