文档章节

Python语言使用聚合数据提供的万年历接口实例

呵哈糊涂
 呵哈糊涂
发布于 2016/12/11 20:34
字数 645
阅读 60
收藏 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>

 

© 著作权归作者所有

共有 人打赏支持
呵哈糊涂
粉丝 0
博文 10
码字总数 6480
作品 0
郑州
后端工程师
私信 提问
飞跃式发展的后现代 Python 世界

飞跃式发展的后现代Python世界 如果现代Python有一个标志性特性,那么简单说来便是Python对自身定义的越来越模糊。在过去的几年的许多项目都极大拓展了Python,并重建了“Python”本身的意义...

renwofei423
2013/08/08
7.6K
29
Python发展迅速,成为学术界新主流

如果说2018年以前R是数据学术界的主流,但是现在Python正在慢慢取代R在学术界的地位。 Python与R相比速度要快。Python可以直接处理上G的数据;R不行,R分析数据时需要先通过数据库把大数据转...

Python燕大侠
05/07
0
0
《大话设计模式》Python版代码实现

 上一周把《大话设计模式》看完了,对面向对象技术有了新的理解,对于一个在C下写代码比较多、偶尔会用到一些脚本语言写脚本的人来说,很是开阔眼界。《大话设计模式》的代码使用C#写成的,...

若虚道人
2014/08/14
0
2
那些年,我们读过的python!

Python是一个强大、快速、易学、友好、开源的脚本语言。Hacker必备的语言之一。 Python - 历史由来 Python 是一种开源的面向对象的脚本语言,它起源于1989年末,当时,CWI(阿姆斯特丹国家数...

生气的散人
2014/03/21
1K
2
Python入门到进阶,这本书有什么不同?

人们常说Python语言简单,编写简单程序时好像也确实如此。但实际上Python绝不简单,它也是一种很复杂的语言,其功能特征非常丰富,能支持多种编程风格,在几乎所有方面都能深度定制。要想用好...

异步社区
08/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

携手开发者共建云生态 首届腾讯云+社区开发者大会在京举办

本文由云+社区发表 北京时间12月15日,由腾讯云主办,极客邦科技、微信、腾讯TEG协办的首届腾讯云+社区开发者大会在北京朝阳悠唐皇冠假日酒店举办。在会上,腾讯云发布了重磅产品开发者平台以...

腾讯云加社区
15分钟前
1
0
人工智能时代员工如何证明其IT工作价值

机器人可以取代你的工作吗?你能帮助机器人完成它的工作吗?如果你正在考虑自己的职业生涯以及今后将如何发展,那么应该询问自己这些问题了。 机器人可以取代你的工作吗?你能帮助机器人完成它的...

Linux就该这么学
17分钟前
1
0
CPU性能过剩提升乏力影响未来行业发展吗?

虽然CPU仍然在不断发展,但是它的性能已经不再仅仅受限于单个处理器类型或制造工艺上了。和过去相比,CPU性能提升的步伐明显放缓了,接下来怎么办,成为横亘在整个行业面前的大问题。 自201...

linuxCool
28分钟前
2
0
使用Autowired和Qualifier解决多个相同类型的bean如何共存的问题

注意: 实现类UserServiceImpl,MyUserServiceImpl 需要区分:@Service("userServicel") @Service("myUserService") https://blog.csdn.net/russle/article/details/80287763......

qimh
今天
4
0
SQL 语句使用to_char函数时,检索结果有空格

小疯在使用Oracle过程中,使用to_char函数检索表数据时发现检索结果前面会有一个空格,对后续开发有影响。问题很好解决,比较直接对可以做一下trim处理。但是小疯很疑惑为什么会有空格呢,于...

野小疯
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部