分享好友 最新动态首页 最新动态分类 切换频道
如何使用 Github Actions 自动抓取每日必应壁纸?
2024-12-26 15:21

Hello world : ) 微信搜「 程序猿阿朗 」。点赞再看,动力无限。

如何使用 Github Actions 自动抓取每日必应壁纸?

本文 Github.com/niumoo/JavaNotes 和 未读代码博客 已经收录,有很多知识点和系列文章。

如何白嫖 Github 服务器自动抓取必应搜索的每日壁纸呢

如果你访问过必应搜索网站,那么你一定会被搜索页面的壁纸吸引,必应搜索的壁纸每日不同,自动更换,十分精美。这篇文章会介绍如何一步步分析出必应搜索壁纸 API ,如何结合 Github Actions自动抓取每日必应壁纸到 Github 仓库。

元宵节当天具有中国元素的必应搜索。

平常一天的必应搜索。

既然是网站上的背景,又是每天更换,很大概率是通过某个 API 请求返回壁纸信息的,事实真是如此吗?直接打开浏览器 network 控制台监控网络请求信息。

筛选 XHR 异步请求,排除 js 文件加载请求后,在一个路径为 的请求中,发现响应的信息似乎和背景图片有关,直接复制出请求的 URL ,得到了一个似乎是壁纸 API 的接口。

 

这个接口返回的信息到底是不是页面上的图片信息呢?还需要进一步测试,单独请求分析这个接口,分析其中的响应信息。

 

可以看到返回的结果中有 信息,拼接到必应网址访问测试(其实通过响应信息里的图片描述 ”挂在锦里街上的红灯笼,中国成都“ 就已经猜到大概率是了,今日元宵节)。

 

访问后发现就是必应搜索网站的当日壁纸(元宵节必应放了一张红色灯笼壁纸)。

到这里,我们已经找到了必应搜索壁纸的 API 接口和响应信息中的图片地址。如果再看图片的 URL 地址,其中携带了不少参数,这些参数是什么意思呢?可以大胆猜测,其中的参数 应该是指图片的宽和高,确实是这样,调整这两个参数可以返回不同分辨率的图片,如果没有这两个参数就可以返回超清原图。

上面分析出了必应壁纸的 API ,那么就不难写一个自动爬取当天必应壁纸的自动化程序。

  1. 请求必应壁纸 API。
  2. JSON 解析出图片 URL。

这里网络请求使用 Java 原生写法,JSON 解析使用了 FASTJSON ,代码简单直接放上来了。

 

如果觉得 Java 原生网络请求写法繁琐,也可以使用 OkHTTP 进行请求。请求到响应结果之后,使用 FASTJSON 解析响应的结果。

 

运行之后就可以得到必应网站当天的壁纸信息。

 
 

如果我们想要收集每天的必应壁纸,岂不是每天都要运行一次爬虫程序?这显然太麻烦了。如果有个定时任务每天自动执行一次,岂不妙哉?但是挂在服务器上还需要购买一台虚拟主机,实在得不偿失。

这时机智的我突然想到何不利用 Github Actions 功能呢Github Actions 可以执行多种常见环境的程序,而且可以定时触发,免费好用,实在是妙,心中默默的也为微软竖起了大拇指。

下面会简单介绍一下 Github Actions 的使用,更多的关于 Github Actions 的概念和使用的场景就不介绍了,我们只要知道利用 Github Actions 功能,可以让我们在指定的事件触发(代码提交事件或者定时或者其他)时,可以运行指定的程序就好了。

如果想了解更多的相关资料,可以直接参考 Github Actions 官方文档,也可以参考其他的相关中文教程,链接这里已经放在文章末尾了。

Github Actions 体验

在 Github 仓库页面的 Actions 页签下可以创建 Github Actions 配置,这里创建一个官方提供的简单示例进行演示。

创建后可以得到一个官方编写好的 Actions Demo,功能就是输出几个字符串。

简单介绍一下图中 Actions 配置文件中的的一些概念。

  1. 指定此 Actions 的触发机制,这里的 和 说明在代码提交和代码合并时会触发。
  2. 代表一个任务,一个 Actions workflows 可以有多个 构成。
  3. 指定运行 Actions 的系统环境,这里是 .
  4. 代表当前 任务的执行步骤。示例里先检出了仓库,然后 了几个字符串。

保存提交这个文件到仓库,因为配置里配置了触发机制有 ,所以这时也会触发这个任务。

已经简单体验了 Github Actions 的使用方式,还记得我们上面编写了一个简单的必应壁纸 Java 版爬虫吗?如果我们把爬虫代码提交到仓库,然后使用 Github Actions 功能定时检出仓库运行 Java 代码抓取壁纸,再写入壁纸到仓库,一套下来无服务器零成本岂不是很好

先直接附上写好的 Github 仓库地址:https://github.com/niumoo/bing-wallpaper ,已经可以每天自动抓取当天必应壁纸。

下面是关于 Actions 内容的一些说明。

 

配置中定时在每天 UTC 时间 17 点运行一次,从 可以看到执行步骤。

  1. 检出代码。
  2. 设置 Java 环境为 JDK 1.8.
  3. maven 编译打包。
  4. 运行打包后的 Java 程序(程序中把获取到的壁纸写入到了 README.md 文件)。
  5. 提交文件到 Github 仓库。

配置中最后还使用了一个参数 ,这是一个用于识别是否有提交 Github权限的密文,这个密文可以在 Github 网站 -> 点击头像 -> Settings -> Developer settings -> Personal access tokens 这里创建,或者直接访问 https://github.com/settings/tokens/new 创建,创建时勾选 权限。保存后可以得到你的密文。

复制这串密文,配置到自己创建 Actions 的仓库。

至此,仓库和配置都已经完成,每天自动抓取必应首页壁纸写入到 README.md 文件,下图是抓取的效果。

Github 仓库地址:https://github.com/niumoo/bing-wallpaper 。

[1] https://docs.github.com/en/actions/quickstart

[2] https://github.com/niumoo/bing-wallpaper

<完>

Hello world : ) 我是阿朗,一线技术工具人,认认真真写文章。

点赞的个个都是人才,不仅长得帅气好看,说话还好听。


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

回复【资料】有我准备的各系列知识点和必看书籍。

本文 Github.com/niumoo/JavaNotes 已经收录,有很多知识点和系列文章,欢迎Star。

最新文章
彩票缩水大揭秘:如何用形态法和排序技术打造中奖利器》 引言:
在彩票的世界里,3D游戏以其1000注的全排列组合看似简单,实则隐藏着中奖的复杂性。许多彩民在深入研究后发现,中奖并非易事。本文将分享一种无需额外条件即可从大量注数中精准提取胆码的高级技巧——形态法与排序技术。一、缩水技术的现状
自动抢票软件排名第一(抢票实测:美团火车票综合实力位居四大主流火车票APP之首)
1.铁路12306官方抢票软件稳居抢票软件排行榜首位。2.铁路12306是中国铁路总公司推出的官方抢票工具,旨在帮助用户轻松抢到优惠的火车票。3.抢票软件是为解决春运期间用户购票难题而由互联网公司研发的产品,通常作为浏览器的插件存在。4.铁
青浦爱采购运营价格
百度作为最大的搜索引擎之一,在互联网经济发展的过程中一直扮演着人流量分发端口的角色,很多平台在发展初期都是从百度引流完成自己的用户积累。在这个过程中积累了丰富的运营经验,百度爱采购作为B2B平台,与同类平台相比有什么好处呢?
智能AI语音助手:全方位解决沟通与交互需求的对话机器人
智能AI语音助手:全方位解决沟通与交互需求的对话机器人随着科技的不断发展人工智能技术已经深入到了咱们生活的方方面面。作为人工智能领域的关键应用之一语音对话机器人凭借其强大的沟通与交互能力,正逐渐改变着咱们的生活。本文将围绕语
漫蛙manwa漫画官网手机版下载最新版
漫蛙manwa漫画官网手机版是一款备受喜爱的漫画阅读软件,漫蛙manwa漫画官网手机版是专为热爱漫画的用户而设计,提供了丰富多样的漫画资源,涵盖了各种题材和风格,让用户可以根据自己的喜好自由选择,还提供了热门漫画推荐功能,会根据用户
肠炎和肠癌有什么区别
肠炎与肠癌的区别在于病因、症状、实验室检查、影像学检查以及内镜检查结果。1.病因肠炎是由病毒、细菌或食物中毒引起的急性肠道炎症,而肠癌是由于结肠或直肠细胞异常增生形成的恶性肿瘤。...2.症状肠炎通常表现为腹泻、腹痛、恶心呕吐等
深圳中学生编程培训咨询热线:   在线咨询: 点击交谈
课程单价:165元课时数:80节全部校区:童程童美少儿编程(幸福里校区)课程内容:乐高创意启蒙课程主要分为三个部分,认识世界、观察世界以及探索世界。认识世界是通过扮演、创造来引导孩子对社会创造一个认知,并且拥有真实的自我情感;
页黄冈大推广的最佳实施策略是什么-如何提高品牌曝光度和销售转化率
网页黄冈大推广是一项专注于黄冈地区市场的互联网推广活动,旨在通过多种网络手段提升本地企业或品牌的知名度与曝光度。随着互联网技术的快速发展,越来越多的黄冈地区的商家开始关注网页推广的潜力,以便在激烈的市场竞争中脱颖而出。这项
零基础自学指南,苏州专业网站搭建与在线平台构建
本教程从零开始,详细讲解苏州专业网站搭建过程。涵盖域名注册、服务器配置、网站设计、功能开发等关键步骤,助您打造个性化在线平台,拓展业务空间。筹备阶段网站建设步骤网站管理与推广在互联网飞速发展的今天,企业和个人都逐渐认识到拥
相关文章
推荐文章
发表评论
0评