C#获取bing每日一图的图片及图片故事(IDE为VS Code .net core)
BingImage
获取必应每日一图及故事
- 获取图片api:http://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1
- idx参数:指获取图片的时间,0(指获取当天图片),1(获取昨天照片),2(获取前天的图片),最多可获取8天前的照片。
- n参数:指获取图片的数量,n=1,指获取一张图片。
- (也可以通过别的接口,比如:Bing 壁纸 API
- 如何将json数据转化为对象见:c# getpost
- 访问此url后返回的json数据如下:
{"images":[{"startdate":"20190107","fullstartdate":"201901071600","enddate":"20190108","url":"/az/hprichbg/rb/RainierDawn_ZH-CN9182470816_1920x1080.jpg","urlbase":"/az/hprichbg/rb/RainierDawn_ZH-CN9182470816","copyright":"瑞尼尔山国家公园,美国华盛顿州 (© Stephen Matera/Tandem Stills + Motion)","copyrightlink":"http://www.bing.com/search?q=%E5%9B%BD%E5%AE%B6%E5%85%AC%E5%9B%AD&form=hpcapt&mkt=zh-cn","title":"","quiz":"/search?q=Bing+homepage+quiz&filters=WQOskey:%22HPQuiz_20190107_RainierDawn%22&FORM=HPQUIZ","wp":false,"hsh":"c295f026b64b45e57248218481629f4e","drk":1,"top":1,"bot":1,"hs":[]}],"tooltips":{"loading":"正在加载...","previous":"上一个图像","next":"下一个图像","walle":"此图片不能下载用作壁纸。","walls":"下载今日美图。仅限用作桌面壁纸。"}}
- 图片的地址即为:必应地址+image[0].url(本例为:http://cn.bing.com/az/hprichbg/rb/RainierDawn_ZH-CN9182470816_1920x1080.jpg)
- 获取图片,并保存至本地。
- 这里使用HttpClient类的GetByteArrayAsync方法。将图片存储为字节数组文件。
byte[] photo=null; //获取图片字节串 using(var httpClient=new HttpClient()) {byte[] bt=await httpClient.GetByteArrayAsync(ImageUrl);photo=bt; }
- 将字节数组存储为文件。也可参照帖子C# Stream 和 byte[] 之间的转换(文件流的应用)
public void SaveImg(byte[] photobt) {//查看图片是否已经下载,path为路径if(File.Exists(path)){return;}//创造图片using(FileStream fileStream=new FileStream(path,FileMode.Create)){BinaryWriter binaryWriter=new BinaryWriter(fileStream);//写入图片信息binaryWriter.Write(photobt);} }
- 这就是下载图片的步骤。
- 获取故事:https://cn.bing.com/cnhp/coverstory
- 返回的json数据:
{"date":"January 08", "title":"一个国家的灵魂之地", "attribute":"美国,瑞尼尔山国家公园", "para1":"大多数人选择在温暖舒适的天气里来这儿,但冬天的凌冽和雪景会给这里带来另一种惊人的美。 在华盛顿州的瑞尼尔山国家公园(Mount Rainier National Park),冬天是享受休闲冰雪活动的好时机。 冬季的额外好处是,这时的国家公园没有夏季那样拥挤的人群。在大提顿山脉的雪地上,你很容易就能看 到成群的麋鹿和其他野生动物。或者漫步在布赖斯峡谷白雪皑皑的峰顶(高耸的红色岩石尖顶),此刻的你 可能会觉得冬天才是参观这个国家公园的最佳时间。今天的壁纸便是我们拍到的公园中透过云层的日出。", "para2":"", "provider":"© Stephen Matera/Tandem Stills + Motion", "imageUrl":"http://hpimges.blob.core.chinacloudapi.cn/coverstory/watermark_rainierdawn_zh-cn9182470816_1920x1080.jpg", "primaryImageUrl":"http://hpimges.blob.core.chinacloudapi.cn/coverstory/watermark_rainierdawn_zh-cn9182470816_1920x1080.jpg", "Country":"美国", "City":"瑞尼尔山国家公园", "Longitude":"-121.759415", "Latitude":"46.853148", "Continent":"北美洲", "CityInEnglish":"Mount Rainier National Park", "CountryCode":"US" }
- 反序列化处理即可,json数据处理见:如何用API获取天气信息
- 详细请看代码。 ?
- 代码下载:https://github.com/xiaoxianrou8/BingImage
C#获取bing每日一图的图片及图片故事(IDE为VS Code .net core)相关推荐
- 【JetPack+Retrofit+Rxjava】获取Bing每日一图并显示ViewModel+LiveData+DataBinding+MVVM 补充笔记
扉: 原文来自:Android官方架构组件ViewModel+LiveData+DataBinding架构属于自己的MVVM 很喜欢作者的思路,但是使用Kotlin需要配置的东西好多并且很多细节要重写 ...
- flask 自动换背景,使用python获取bing每日壁纸当作登陆背景图片
欢迎关注原创视频教程 Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.c ...
- 每天定时获取必应每日一图并保存做壁纸
每天定时获取必应每日一图并保存做壁纸 必应每天会更新每日一图,这些图片都是特别好看,适合做封面壁纸等等.我做了一个自动脚本,让它每天定时获取每日一图,然后设置为个人主页博客的封面,封面和背景一共九 ...
- 在Firefox 给新标签页添加bing每日一图为背景图的方法
Firefox 给新标签页添加bing每日一图为背景的方法 设置方法 1.地址栏打开 about:config回车,搜索toolkit.legacyUserProfileCustomizations. ...
- 获取bing壁纸php,php获取bing每日壁纸示例分享
php获取bing每日壁纸示例分享 复制代码 代码如下: $str=file_get_contents('http://cn.bing.com/HPImageArchive.aspx?idx=0&am ...
- 获取bing壁纸php,php获取bing每日壁纸的示例
php获取bing每日壁纸的示例 这篇文章主要介绍了使用php获取bing每日壁纸的示例,需要的朋友可以参考下 代码如下: $str=file_get_contents('http://cn.bing ...
- 获取Bing每日图片API接口
bing图片每日更新,对于这一点感觉挺不错的,如果能够把bing每日图片作为博客背景是不是很不错呢?首先我们进入Bing首页,会发现自动转到中国版.不过这没关系,中国版更符合国情,速度也比国际版快一些 ...
- bing超高清壁纸php,如何获取 bing 每日壁纸(超高清版)
需求描述 必应作为一个在壁纸圈做搜索引擎最优秀的站点,其每日壁纸也是可圈可点的. 那么自然就生出了如何将必应的每日壁纸保存下来,用作电脑桌面壁纸轮播的想法. 实现方式 简单粗暴 如何下载 最简单,不需 ...
- 动态获取Bing每日壁纸
我们可以通过访问:http://cn.bing.com/HPImageArchive.aspx?format=xml&idx=0&n=1获得一个XML文件,里面包含了图片的地址. 上面 ...
最新文章
- [译] 新一代 JavaScript 的开发图谱(2017)
- python中的print()、str()和repr()的区别
- android开机优化服务,Android开机速度优化简单回顾
- java orm框架有哪些_Java Stream ORM现在带有JOIN
- [渝粤教育] 扬州工业职业技术学院 微言品语文 参考 资料
- iOS push新的调用方法
- java 二进制 文件比较_Java中对文件的读写操作之比较
- linux 环境变量详解,linux环境变量实例详解
- python自动复制,Python数组自动相互复制
- 还怕没女朋友吗?用python做个表白吧
- 计算机sense服务无法启动,workstation服务无法启动解决办法
- struts2拦截器添加及xss攻击的处理
- qq远程听到计算机声音,QQ2017远程播放视频没有声音_软件应用_电脑知识学习_培训之家...
- html屏蔽浏览器自动填充,禁止浏览器对表单自动填充的几种方法
- perl中unicode属性
- Network Delay Simulator模拟延时、带宽甚至丢包率,更精确地模拟慢网速环境
- __call__ 的用法
- CS信号(片选信号)经常都是低电平有效
- 最详细的Java程序打包成“可安装使用”的桌面应用
- 安装或者初始化达梦数据库卡死