自动化美学:使用Github Actions每日抓取必应壁纸

作者:搬砖的石头2024.08.30 09:12浏览量:64

简介:本文将引导你如何通过Github Actions这一强大的CI/CD工具,自动化地抓取每日更新的必应壁纸,并保存到你的GitHub仓库中,为你的桌面或项目增添一抹新鲜色彩。

引言

必应(Bing)每日都会更新一张精美的壁纸,这些壁纸不仅美观,而且主题多样,非常适合作为桌面背景或项目素材。然而,手动下载这些壁纸既繁琐又容易忘记。幸运的是,我们可以利用Github Actions这一自动化工具,轻松实现壁纸的自动抓取与保存。

第一步:创建GitHub仓库

首先,你需要在GitHub上创建一个新的仓库,用于存放抓取到的壁纸。仓库名可以自定义,比如bing-wallpaper-downloader

第二步:编写工作流文件

在仓库的根目录下,创建一个名为.github/workflows的文件夹(如果尚不存在),并在其中创建一个新的YAML文件,比如download-bing-wallpaper.yml。这个文件将定义我们的自动化工作流。

示例工作流文件

  1. name: Download Bing Wallpaper
  2. on:
  3. schedule:
  4. - cron: '0 0 * * *'
  5. jobs:
  6. download-wallpaper:
  7. runs-on: ubuntu-latest
  8. steps:
  9. - name: Checkout
  10. uses: actions/checkout@v2
  11. - name: Download Bing Wallpaper
  12. run: |
  13. # 使用curl命令下载壁纸
  14. # 注意:这里使用的是必应壁纸的API URL,但出于保护目的,这里不直接给出
  15. # 你需要自行查找或编写脚本来获取每日壁纸的URL
  16. URL="$(curl -s 'https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=zh-CN' | jq -r '.images[0].url')"
  17. wget -O ./bing-wallpaper.jpg $URL
  18. # 提交更改到GitHub
  19. git config --local user.name "github-actions[bot]"
  20. git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
  21. git add bing-wallpaper.jpg
  22. git commit -m "Update Bing Wallpaper"
  23. git push

注意:上述示例中的必应壁纸API URL可能已过时或需要认证,实际使用时请查找最新的API或网页抓取方法。这里使用了jq工具来解析JSON响应,你可能需要在Ubuntu环境中预先安装jq

第三步:配置Cron表达式

在YAML文件中的on部分,我们使用了schedule触发器,并设置了一个Cron表达式'0 0 * * *',这表示每天午夜(UTC时间)触发工作流。

第四步:测试与调试

提交你的工作流文件到GitHub仓库后,GitHub Actions将自动开始运行。你可以在仓库的Actions标签页中查看执行结果和日志

第五步:享受自动化带来的便利

一旦设置完成,你就可以每天自动获取到最新的必应壁纸了。这些壁纸将被保存在你的GitHub仓库中,你可以通过GitHub Pages或其他方式方便地访问和使用它们。

额外建议

  • 版本控制:考虑在保存壁纸时添加版本控制,比如按日期命名文件。
  • 安全:确保你的GitHub令牌(如果有使用)是安全的,避免泄露。
  • 扩展功能:你可以进一步扩展这个工作流,比如通过邮件或Slack通知你壁纸已更新。

通过Github Actions实现必应壁纸的自动抓取,不仅提升了你的工作效率,也为你的数字生活增添了一份自动化的乐趣。希望这篇文章能帮助你轻松上手,享受自动化带来的便利!