【编码书生】Bing 随机壁纸 API

Bing 随机壁纸
(此图是随机出来的,不信你刷新一下? =v= )
PS:随机壁纸服务器已到期,没钱续费,穷......
现将壁纸图库迁移到了NAS上,所以每天0:30~7:30时间段,API会无法访问,给您带来的不便,敬请谅解

  很多人都知道,Bing 搜索的主页每天都会推送一张漂亮的壁纸,比如今天的壁纸是这样的

Bing 每日壁纸

每一天都不相同,风格迥异,非常养眼,用来做桌面壁纸/网站背景,都是非常合适的。


  前段时间脑子里突然冒出个想法,能不能让网站随机呈现Bing 壁纸呢,这样就不会局限于一天一张图片了,我想看的时候只要刷新网页就可以了。emmmmmm,答案是肯定的!

  首先,随机的前提是要有一个壁纸库,这个好办,服务器上去年到现在爬取到的Bing 壁纸至少应该有几百张了;

  然后,构造一个随机函数去指定文件夹内读取图片就完事儿了,这里我们用世界上最好的语言PHP(逃...

<?php
    require("config.inc.php");
    function randomSelectIndex() {
        $imgs = glob(IMG_DIR . IMG_EXTENSIONS, GLOB_BRACE);
        $selectedIndex = array_rand($imgs);
        setcookie("currentIndex", $selectedIndex);
        return $selectedIndex;
    }
    function getImgFromIndex($index) {
        $imgs = glob(IMG_DIR . IMG_EXTENSIONS, GLOB_BRACE);
        if(IMG_NO_REPEAT_CURRENT && isset($_COOKIE['currentIndex'])):
            while ($index == $_COOKIE['currentIndex']):
                $index = randomSelectIndex();
            endwhile;
        endif;

        $randomImage = $imgs[$index];
        return $randomImage;
    }
    $currentSelectedIndex = randomSelectIndex();
    $randomImage = getImgFromIndex($currentSelectedIndex);
   
    header('Content-Type:image/jpeg');
    header('Content-Length: ' . filesize($randomImage));
    readfile($randomImage);
    
?>

关于config.inc.php

<?php
    //图片文件夹相对路径
    define("IMG_DIR",'imgs/'); 
    //支援的图片文件类型
    define("IMG_EXTENSIONS",'*.{jpg,jpeg,png}'); 
    //下次不要和和此次随机选择到的图片重复
    define("IMG_NO_REPEAT_CURRENT",true); 
?>

最后,在需要使用随机图片的地方,访问这个函数就行。

本站随机壁纸API:
https://img.codess.cc/index.php

为防止爬虫恶意采集,此处内容需要评论回复后方可阅读。


顺便推一波我的免费图床:https://pic.codess.cc

  目前我的服务器收集了好几百张,都是1920*1080高清壁纸,具体多少懒得数,反正每天都在增加,喜欢的同学可以拿去用,API完全公开,没设防盗链,适度使用,可别把服务器给拖宕机了23333333

最后修改:2019 年 09 月 11 日 11 : 09 AM
您的支持就是我持续更新的动力!

27 条评论

  1. 阳光

    学习一下

  2. darren

    学习一下

  3. 打酱油的

    学习一下 哈哈

  4. abe520

    再捞一条鱼

  5. 0or1

    回复一下看看,不过没看懂具体怎么用

  6. xienw

    支持一个,是不是API都关闭了

  7. ntren

    前两天刚学习了你的WEB导航

  8. 贫小子

    期待

  9. 不赖

    学习下。我也做个自己的随机壁纸。

  10. 45share

    来学习技术

  11. ChangingWorld

  12. 鱼划水

    好像很给力 很高大上

  13. 南通伍林堂文化传播有限公司

    为什么还要评论

    1. Sakwe
      @南通伍林堂文化传播有限公司

      一防止爬虫,二防伸手党

  14. aqpcet

    你好,bing随机接口我取了

  15. L

    API好像挂了,楼主是换链接了吗

    1. Sakwe
      @L

      薅羊毛薅来的服务器,续费续不起...............穷

      1. ChangingWorld
        @Sakwe

        freenom?

  16. 克林同学

    补充下,之前我加的是bing的那个 https://api.dujin.org/bing/1920.php 这个链接。
    现在是完全把你的,刷新会切换壁纸了。

    1. Sakwe
      @克林同学

      嗯,祝你使用愉快|´・ω・)ノ

  17. 克林同学

    问下, 我在你这下载的nas网站模版,要怎样用随机壁纸呢?
    我修改 style.css这个文件里面的连接,为随机壁纸链接,但发现只有一种, 不会变。

  18. 春泥酱

    请问壁纸接口是否给予授权?

    1. Tony
      @春泥酱

      目前接口完全公开免费,但是也请节约使用

  19. Zero

    Java才是世界上最好的语言

    1. Tony
      @Zero

      出招吧୧(๑•̀⌄•́๑)૭

  20. 学习笔记Blog

    不错呀!支持一下!

    1. Tony
      @学习笔记Blog

      谢谢大佬ヾ(≧∇≦*)ゝ

发表评论

为了博客更好地生产内容,请将本站加入广告屏蔽插件的白名单,感谢您的支持。 具体方法
X