未读代码 未读代码
首页
  • Java 18 新功能介绍
  • Java 17 新功能介绍
  • Java 16 新功能介绍
  • Java 15 新功能介绍
  • Java 14 新功能介绍
  • Java 8 新特性

    • Java 8 Lambda 表达式
    • Java 8 Stream 流式操作
    • Java 8 时间处理介绍
    • Java 8 Optional 介绍
  • Java 开发工具
Java 源码分析
Spring Boot 系列
  • Arthas 问题定位
  • JMH 基准测试
GitHub (opens new window)
首页
  • Java 18 新功能介绍
  • Java 17 新功能介绍
  • Java 16 新功能介绍
  • Java 15 新功能介绍
  • Java 14 新功能介绍
  • Java 8 新特性

    • Java 8 Lambda 表达式
    • Java 8 Stream 流式操作
    • Java 8 时间处理介绍
    • Java 8 Optional 介绍
  • Java 开发工具
Java 源码分析
Spring Boot 系列
  • Arthas 问题定位
  • JMH 基准测试
GitHub (opens new window)
  • Java 开发

    • 你好 ChatGPT, 帮我看下这段代码有什么问题?
    • 如何搭建一个自己的音乐服务器
    • JUnit 5 单元测试教程
    • 使用 StringUtils.split 的坑
    • 必应壁纸,我的第一个 400 Star 开源项目
      • 起因
      • 开发
      • 现状
      • 优化
        • 抓取方式
        • 展示效果
    • Java 中的对象池实现
    • 5种限流算法,7种限流方式,挡住突发流量?
    • Java 中拼接 String 的 N 种方式
    • 字符作画,我用字符画个冰墩墩
    • 5 分钟复现 log4J 漏洞,手把手实现
    • 如何使用 Github Actions 自动抓取每日必应壁纸?
    • 撸了个多线程断点续传下载器,我从中学习到了这些知识
    • 三种骚操作绕过迭代器遍历时的数据修改异常
    • 一篇有趣的负载均衡算法实现
    • Java 中 RMI 的使用
    • Java 开发的编程噩梦,这些坑你没踩过算我输
  • Java 开发工具

  • 消息中间件

  • Java 开发
  • Java 开发
程序猿阿朗
2022-07-15

必应壁纸,我的第一个 400 Star 开源项目

有意栽花花不发,无心插柳柳成荫。开源地址:github.com/niumoo/bing-wallpaper/ (opens new window)

今天是 2022 年 7 月 15 日,我的 GitHub 开源仓库必应壁纸 (opens new window)迎来了第 400 个 Star。说来惭愧,我在 GitHub 开源了很多仓库,但是好好维护下来的没有几个,这一个意外有了 400 Star 的开源项目更是无心之举,已经许久没有更新。好在这个项目也不需要经常的更新。

# 起因

这个开源项目是做什么的呢?起因是我经常使用必应搜索,必应搜索网站壁纸每日一换,十分精美,以致我想收藏起来。但是每天去网站下载一张壁纸实在过于麻烦,所以打开控制台分析了下必应网站请求壁纸的接口,写了个自动化脚本每日请求抓取一次,然后放到 GitHub 网站上。

我为此单独写过一篇文章:如何使用 Github Actions 自动抓取每日必应壁纸? (opens new window)

# 开发

爬虫功能完成之后我利用 GitHub 的 Actions 功能,不需要任何费用就可以进行每日的必应壁纸的抓取,本来这样一个必应壁纸抓取功能就已经完成了,当时因为壁纸抓取后只是一个存档,并不能预览图片内容,看起来不太方便,所以我增加了一串代码 ,把抓取到的必应壁纸按照 Markdown 的语法格式写入到 GitHub 仓库的 Readme.md 文件,这样就可以每日实时预览图片内容了。效果像下面这样。

必应壁纸

# 现状

效果还是不错的,自从发布后每天都稳定抓取一张必应壁纸,截止现在 2022 年 7 月 14 日,已经存下了从 2021 年 2 月1 号至今的所有必应壁纸。

Star 数一直稳步增长,真的很稳,很稳,平均每天一个 Star 不到 。

Stargazers over time(https://starchart.cc/niumoo/bing-wallpaper)

同时由于我每天自动抓取一张必应壁纸提交到仓库,以至于我的 GitHub 贡献记录从一开的“撒哈拉沙漠”变成了现在的“呼伦贝尔大草原”。

GitHub 贡献记录

# 优化

# 抓取方式

目前使用自动抓取的方式,没有多余逻辑,必应会根据请求 IP 判断位置是国内还是国外,必应国内版和国际版每日图片可能会有不同。由于我部署在 GitHub 上,默认是国外 IP,因此每次抓取的都是国外必应壁纸,所以会有在 GitHub 仓库看到图片和在国内必应网站上看到的图片不同的问题,断断续续有网友问过这个问题,说优化一直没有优化,现在提上日程吧。

# 展示效果

目前的展示效果过于粗暴,直接把所有日期的壁纸都放到了一个 Readme.txt 文件,GitHub 访问速度本不快,这样上来加载过多的图片更如蜗牛爬行。这次优化成按月份归档,首页只展示最近 30 天的必应壁纸,这样在体验效果上会好很多。

必应壁纸开源地址:github.com/niumoo/bing-wallpaper/ (opens new window)

欢迎你的 Star 🌟🌟🌟🌟🌟🌟

订阅

文章持续更新,订阅可以关注「 程序猿阿朗 」公众号或者未读代码博客。

文章作者: 程序猿阿朗
文章链接:https://www.wdbyte.com/bing-wallpaper-400.html
版权声明:本网站当前文章采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 未读代码!
#必应壁纸
上次更新: 2023/03/15, 09:22:31
使用 StringUtils.split 的坑
Java 中的对象池实现

← 使用 StringUtils.split 的坑 Java 中的对象池实现→

最近更新
01
JFR 使用教程
03-15
02
JMC 使用教程
03-15
03
你好 ChatGPT, 帮我看下这段代码有什么问题?
02-14
更多文章>

提示:评论前请刷新页面,否则评论的可能不是当前文章。

Theme by Vdoing | Copyright © 2018-2023 程序猿阿朗 | MIT License | 皖ICP备20000567号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式