Python语言使用聚合数据提供的万年历接口实例
Python语言使用聚合数据提供的万年历接口实例
呵哈糊涂 发表于11个月前
Python语言使用聚合数据提供的万年历接口实例
  • 发表于 11个月前
  • 阅读 24
  • 收藏 0
  • 点赞 0
  • 评论 0

在聚合数据实名认证后就可以申请API了,以申请万年历的接口为例:

官方给的说明已经很详细了,不过比较缺憾的事python的demo官方的比较老旧对于使用3以上的还是个麻烦

接口解释如下:

接口地址:http://japi.juhe.cn/calendar/day

支持格式:json

请求方式:get post

请求示例:http://japi.juhe.cn/calendar/day?date=2015-1-1&key=您申请的appKey

接口备注:根据传入日期返回当天详细信息

 

请求参数说明:

  名称 类型 必填 说明
  key string 您申请的appKey
  date string 指定日期,格式为YYYY-MM-DD,如月份和日期小于10,则取个位,如:2012-1-1

返回参数说明:

  名称 类型 说明
  error_code int 返回状态码
  reason string 返回原因
  result string 返回实体内容

 

请求后返回的json数据:

{
    "error_code": 0,
    "reason": "Success",
    "result": {
        "data": {
            "holiday": "元旦",//假日
            "avoid": "破土.安葬.行丧.开生坟.",//忌
            "animalsYear": "马",//属相
            "desc": "1月1日至3日放假调休,共3天。1月4日(星期日)上班。",//假日描述
            "weekday": "星期四",//周几
            "suit": "订盟.纳采.造车器.祭祀.祈福.出行.安香.修造.动土.上梁.开市.交易.立券.移徙.入宅.会亲友.安机械.栽种.纳畜.造屋.起基.安床.造畜椆栖.",//宜
            "lunarYear": "甲午年",//纪年
            "lunar": "十一月十一",//农历
            "year-month": "2015-1",//年份和月份
            "date": "2015-1-1"//具体日期
        }
    }
}

参考官方的介绍,重新写了一个后台请求,具体如下

首先需要引入几个库

import json
from urllib.request import urlopen
from flask import jsonify

然后是请求并解析数据:

class GetDate(View):
    methods = ['GET', 'POST']

    def dispatch_request(self):
        # ----------------------------------
        # 万年历调用
        # ----------------------------------
        appkey = '这是你申请的APIKEY'
        date = datetime.now().strftime('%Y-%m-%d') # 获取当前日期,并格式化成需要的
        url = 'http://japi.juhe.cn/calendar/day?date={}&key={}'.format(date, appkey) # 拼接出需要的的请求地址
        data = urlopen(url) # 使用urlopen获取bytes类型数据
        data = bytes.decode(data.read()) # 将bytes数据编码成str
        da = json.loads(data) # 使用json下的loads方法转化为字典表
        if da.get('error_code') == 0: # 判断如果请求成功则获取数据
            das = da.get('result').get('data') # 获取键值为data需要的dict
            return jsonify(das) # 将dict转换为json数据返回

前台使用ajax请求:

<script>
   <!-- ================= 日期信息 ================== -->
    $(document).ready(function () {
        $.ajax({
            url: '{{ url_for('blog.get_date') }}',
            method: 'GET',
            datatype: 'json',
            success: function (date) {
                    $("#dateinfo").append(date.date); # 将date数据塞入id="dateinfo"的容器内
                    $("#weekday").append(date.weekday);
                    $("#lunar").append(date.lunar);
                    $("#animal").append(date.animalsYear);
                    $("#suit").append(date.suit);
                    $("#avoid").append(date.avoid);
                    $("#lunaryear").append(date.lunarYear)
            }
        });
    });
</script>

 

标签: Python API 万年历
共有 人打赏支持
粉丝 0
博文 10
码字总数 6480
×
呵哈糊涂
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: