cn.bing.com 的背景图片的质量还是很高的,值得下载。

package mainimport ("compress/gzip""fmt""io/ioutil""log""net/http""net/url""os""path""regexp""strings"
)var (httpc = &http.Client{}regWallpaper = regexp.MustCompile(`http://s.cn.bing.net/az/hprichbg/rb/[a-zA-z0-9_\-]*_1920x1080.jpg`)
)//判断网页是否使用 gzip 压缩,如果是则进行解压
func ungzipRespBody(resp *http.Response) (b []byte, err error) {body := resp.Bodyif strings.Contains(resp.Header.Get("Content-Encoding"), "gzip") {body, err = gzip.NewReader(resp.Body)if err != nil {return nil, err}}defer body.Close()return ioutil.ReadAll(body)
}func setHeaders(req *http.Request) {req.Header.Set("Accept-Encoding", "gzip, deflate")req.Header.Set("User-Agent", "Mozilla/5.0 (Ubuntu) Chrome/38.0.2125.122")
}//获取页面
func HttpGet(url string) ([]byte, error) {req, err := http.NewRequest("GET", url, nil) //创建 requestif err != nil {return nil, err}setHeaders(req)resp, err := httpc.Do(req) //发送请求if err != nil {return nil, err}return ungzipRespBody(resp)
}//下载文件
func Downfile(url, target string) (err error) {body, err := HttpGet(url)if err != nil {return err}return ioutil.WriteFile(target, body, os.ModePerm)
}func main() {body, err := HttpGet("http://cn.bing.com/HPImageArchive.aspx?format=js&idx=1&n=10")if err != nil {log.Panic(err)}wallpaper := regWallpaper.FindAll(body, -1)for i, wpaper := range wallpaper {wStr := string(wpaper)u, err := url.Parse(wStr)if err != nil {log.Print(err)continue}filename := path.Base(u.Path)err = Downfile(wStr, filename)if err != nil {log.Print(err)continue}fmt.Printf("%d. Downloaded %s\n", i, filename)}
}

转载于:https://www.cnblogs.com/bing-l/p/4251669.html

批量下载 Bing 墙纸相关推荐

  1. 爬虫小案例:基于Bing关键词批量下载图片(第二版)

    一.需求: 基于Bing网站,输入关键词,批量下载图片保存到本地 二.代码展示: import requests from lxml import etree import os from multi ...

  2. 爬虫小案例:基于Bing关键词批量下载图片

    一.需求: 基于Bing网站,输入关键词,批量下载图片保存到本地 二.演示: 三.直接上代码 import os import urllib.request import urllib.parse f ...

  3. 百度(baidu)、bing、sogo、360关键字 - 图片批量下载

    百度(baidu).bing.sogo.360关键字 - 图片批量下载 2022-07-27 SHTL 博客:https://www.shtlls.ltd 说明: 注意一: 通过脚本下载的图片,仍会存 ...

  4. python爬虫入门:搜索和批量下载图片

    目录 python爬虫批量下载图片 前言 一.具体流程 1.使用必应搜索图片 2.实现方法 导入模块 具体代码 二.效果演示 python爬虫批量下载图片 前言 本篇文章以在必应下载硬币图片为例,实现 ...

  5. 豆瓣FM加心音乐批量下载

    如何批量下载豆瓣电台加红心歌曲 注:批量从豆瓣电台抓取歌曲列表的功能(来自@牛牛 微博) 1.登陆豆瓣电台 2.进入加红星的网页或者输入网址http://douban.fm/mine?type=lik ...

  6. python批量下载必应图片

    梗概:我是个化验师,我们可是也要我们做PPT,医学知识往往繁多复杂,要是有比较好的照片配合文字,可以大大增加PPT的效果.必应这个网站可以搜索到比较有价值的医学图片,要是你输入一个医学名词,同样的搜索 ...

  7. java 必应壁纸批量下载

    必应的壁纸一个一个下有点麻烦,写个小爬虫批量下载,代码如下: import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import java. ...

  8. python批量下载必应每日壁纸

    文章目录 python批量下载必应每日壁纸 一.图片来源选择 二.python实现 python批量下载必应每日壁纸 必应搜索的每日背景壁纸都是高质量的图片,下载来当桌面壁纸再好不过了,微软官方也推出 ...

  9. java 自动下载自动搜索_必应美图下载 - 自动更换批量下载的壁纸

    必应( Bing )搜索 每天 都会在 搜索界面 内更换 非常好看 的 背景图片,因此有不少网友将这些 图片 下载下来设置成 桌面壁纸 使用.同时,也有不少 站长 在自己的 网站 上通过 接口 将自己 ...

最新文章

  1. [No0000D2]ClearCSharp编程清理脚本批处理bat
  2. DWORD dwSendTime =::GetTickCount();
  3. 分级查询(Hierarchical Path-Finding )
  4. linux 中使用 crontab 执行定时任务
  5. Py之PyTables:PyTables的简介、安装、使用方法详细攻略
  6. 通过HTTP协议实现多线程下载
  7. sap 发送mesage_SAP的message机制
  8. ios13全选手势_iOS13系统5个简单实用的技巧 快速选择/三指操作/批量删除短信/文字转表情...
  9. 2019年中国IT市场趋势热点
  10. 工程思想——【误差与分辨度】
  11. 分布式与集群的联系与区别
  12. 客户端常见的几种数据传输方法
  13. redis双写一致性问题
  14. 苏槐: 数据治理的本质及实践
  15. String类型相关的题
  16. 【2019杭电多校第九场1002=HDU6681】Rikka with Cake(离散化+树状数组+思维)
  17. 【云原生】设备入云之FlexManager数据通道的具体部署
  18. springboot redis: xxx as a subtype of [simple type, class java.lang.Object]: no such class found
  19. SpringCloud(三)了解了概念,现在来验证一下,玩个小案例
  20. bilibili 弹幕协议分析,golang 还原代码

热门文章

  1. 如何把PDF转换成长图?分享两种可以实现的方法
  2. JS,BOM,DOM(六)
  3. 容性负载、阻性负载、感性负载、功率型负载的区别
  4. ClickHouse 创建数据库/建表/视图/字典 SQL
  5. html5+css3中的background: -moz-linear-gradient 用法
  6. 数字城市、智能城市、智慧城市、数字中国和智慧社会简析
  7. ECSHOP_顺丰_货到付款设置
  8. MySQL学习之创建表—部门,员工,工资,奖金表
  9. 拼多多店铺搜索相关问题,为什么新品上架搜索不到
  10. Fork and Join: Java也可以轻松地编写并发程序 原文地址 作者:Julien Ponge 译者:iDestiny 资源下载: Java SE 7 Sample Code(Zi