原创内容,转载请注明出处:https://www.myzhenai.com.cn/post/3711.html
我打算自己写一个每年节日就自动在网站上展示灯笼的源码功能,但是这里最重要的是要获得每年春节、端午节、中秋节等节日的日期,因为要自己写这判断这些日期的功能,那代码就多了,所以我用了一个万年历的接口来获取,这样我们只需要获取万年历接口返回的数据就可以了,其他类如情人节、国庆节、元旦、三八节、六一节、建军节等节日的时间是新历固定的,所以不依赖万年历接口都可以。
引导阅读:
为网站增加春节灯笼效果:https://www.myzhenai.com.cn/post/3645.html
万年历接口申请地址:https://www.juhe.cn/
我们需要先注册聚合数据,然后通过实名认证后,可以申请一个万年历的接口key,只有了这个key才可以引用万年历接口,但是免费版本的只有100次一个月,这个次数如果我们在网站PHP里调用的话,那么很容易就用完了,所以我把获取日期数据的功能写一个shell脚本,然后用php来读取这个脚本就可以了。把shell脚本定时为每月运行一次,这样就不会影响我们的使用次数。
万年历接口使用方法
在这里我准备获取的是当年的假期列表,year后边的参数可以在shell里获取当前年份,然后用curl就可以准确得到我们需要的日期数据了,在浏览状态下获取到的是类如下图这样的。
{"reason":"Success","result":{"data":{"year":"2021","holidaylist":"[{\"name\":\"元旦\",\"startday\":\"2021-1-1\"},
{\"name\":\"除夕\",\"startday\":\"2021-2-11\"},{\"name\":\"春节\",\"startday\":\"2021-2-12\"},{\"name\":\"清明节\",\"startday\":\"2021-4-4\"},
{\"name\":\"劳动节\",\"startday\":\"2021-5-1\"},{\"name\":\"端午节\",\"startday\":\"2021-6-14\"},{\"name\":\"中秋节\",\"startday\":\"2021-9-21\"},
{\"name\":\"国庆节\",\"startday\":\"2021-10-1\"}]","holiday_list":[{"name":"元旦","startday":"2021-1-1"},{"name":"除夕","startday":"2021-2-11"},
{"name":"春节","startday":"2021-2-12"},{"name":"清明节","startday":"2021-4-4"},{"name":"劳动节","startday":"2021-5-1"},
{"name":"端午节","startday":"2021-6-14"},{"name":"中秋节","startday":"2021-9-21"},{"name":"国庆节","startday":"2021-10-1"}]}},"error_code":0}
#!/usr/bin/env bash
# !/bin/bash
. /etc/profile
############################################################################################################################################
#
# This is a lottery number automatic generation tool
# Autor: RucLinux
# Web: https://www.myzhenai.com.cn/ https://www.myzhenai.com/ https://mangshe.python.hn.cn/ https://jiayu.mybabya.com/
# 说明:转载引用请保留这段,谢谢
#
#############################################################################################################################################
var=$(date +%Y)
fen=$(curl -s http://v.juhe.cn/calendar/year?year=$var\&key=859195d15d********************** | awk -F "[" '{print $2}' | awk -F "]" '{print $1}' | sed 's/\\//g' | sed 's/\"//g' | sed 's/}\,/}\n/g')
这里有一点需要注意,在curl的时候,地址中的&符号需要用\进行转义,不然会出错。后边的都是截取和替换的命令。
sicnature ---------------------------------------------------------------------
Your current IP address is: 116.208.48.52
Your IP address location: 湖北省襄阳市电信
Your IP address country and region: 中国
Your current browser is:
Your current system is:
Original content, please indicate the source:
同福客栈论坛 | 蟒蛇科普 | 海南乡情论坛 | JiaYu Blog
sicnature ---------------------------------------------------------------------
Welcome to reprint. Please indicate the source https://www.myzhenai.com.cn/post/3711.html