文档章节

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

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

 

© 著作权归作者所有

共有 人打赏支持
呵哈糊涂
粉丝 0
博文 10
码字总数 6480
作品 0
郑州
后端工程师
Python发展迅速,成为学术界新主流

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

Python燕大侠 ⋅ 05/07 ⋅ 0

入门数据分析,从python开始

Python是目前学习数据分析课程中,非常重要的一块,也是目前非常受行业欢迎的。因此,学习非常重要,下面是Python学习的一些重要步骤和知识! 步骤1:熟悉Python 对数据科学,Python和R都是不...

weixin_41852491 ⋅ 05/28 ⋅ 0

荐书丨确认过眼神,这份Python书单一定是你的菜

点击上方“程序人生”,选择“置顶公众号” 第一时间关注程序猿(媛)身边的故事 Python 是军刀型的开源工具,被广泛应用于Web 开发、爬虫、数据清洗、自然语言处理、机器学习和人工智能等方...

csdnsevenn ⋅ 05/05 ⋅ 0

Python数据科学(八)- 资料探索与资料视觉化

传送门: Python数据科学(一)- python与数据科学应用(Ⅰ) Python数据科学(二)- python与数据科学应用(Ⅱ) Python数据科学(三)- python与数据科学应用(Ⅲ) Python数据科学(四)- 数据收...

_知几 ⋅ 05/22 ⋅ 0

云计算培训学院,云计算Python自动化运维开发实战

都忘记是什么时候知道python的了,我是搞linux运维的,早先只是知道搞运维必须会shell,要做一些运维自动化的工作,比如实现一些定时备份数据啊、批量执行某个操作啊、写写监控脚本什么的。后...

长沙千锋 ⋅ 05/15 ⋅ 0

Python面向对象编程之我见

面向对象基本概念 面向对象是一种编程范式。范式是指一组方法论。编程范式是一组如何组织代码的方法论。编程范式指的是软件工程中的一种方法学。 一些主流的编程范式: OOP - 面向对象编程 ...

bigstone2012 ⋅ 05/31 ⋅ 0

你真的了解Python吗?这篇文章让你了解90%

  【IT168 评论】人们为什么使用Python?   之所以选择Python的主要因素有以下几个方面:   软件质量:在很大程度上,Python更注重可读性、一致性和软件质量,从而与脚本语言世界中的其...

博客园 ⋅ 05/21 ⋅ 0

5本必读Python入门书籍,你都看过吗?(附福利)

今天技术学派为大家准备了5本Python入门书籍,除了书籍小编还整理了3个常用的资源网站分享给大家。 1.Python基础教程 《Python基础教程》是经典的Python入门教程书籍,本书层次鲜明,结构严谨...

Python燕大侠 ⋅ 06/07 ⋅ 0

Python才是人工智能AI的首选编程语言,你值得拥有……

在所有编程语言里,Python并不算萌新,从1991年发布第一个版本,至今已经快30年了。 最近几年,随着人工智能概念的火爆,Python迅速升温,成为众多AI从业者的首选语言。 根据数据平台 Kaggle...

M耀文 ⋅ 05/19 ⋅ 0

python开源工具列表【持续更新】

以下是个人在工作中整理的一些python wheel,供参考。 这个列表包含与网页抓取和数据处理的Python库 网络 通用urllib -网络库(stdlib)。 requests -网络库。 grab – 网络库(基于pycurl)。...

武耀文 ⋅ 04/25 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

js模拟栈和队列

栈和队列 栈:LIFO(先进后出)一种数据结构 队列:LILO(先进先出)一种数据结构 使用的js方法 1.push();可以接收任意数量的参数,把它们逐个推进队尾(数组末尾),并返回修改后的数组长度。 2....

LIAOJIN1 ⋅ 17分钟前 ⋅ 0

180619-Yaml文件语法及读写小结

Yaml文件小结 Yaml文件有自己独立的语法,常用作配置文件使用,相比较于xml和json而言,减少很多不必要的标签或者括号,阅读也更加清晰简单;本篇主要介绍下YAML文件的基本语法,以及如何在J...

小灰灰Blog ⋅ 25分钟前 ⋅ 0

IEC60870-5-104规约传送原因

1:周期循环2:背景扫描3:自发4:初始化5:请求6:激活7:激活确认8:停止激活9:停止激活确认10:激活结束11:远程命令引起的返送信息12:当地命令引起的返送信息13:文件传送20:响应总召...

始终初心 ⋅ 38分钟前 ⋅ 0

【图文经典版】冒泡排序

1、可视化排序过程 对{ 6, 5, 3, 1, 8, 7, 2, 4 }进行冒泡排序的可视化动态过程如下 2、代码实现    public void contextLoads() {// 冒泡排序int[] a = { 6, 5, 3, 1, 8, 7, 2, ...

pocher ⋅ 48分钟前 ⋅ 0

ORA-12537 TNS-12560 TNS-00530 ora-609解决

oracle 11g不能连接,卡住,ORA-12537 TNS-12560 TNS-00530 TNS-12502 tns-12505 ora-609 Windows Error: 54: Unknown error 解决方案。 今天折腾了一下午,为了查这个问题。。找了N多方案,...

lanybass ⋅ 今天 ⋅ 0

IDEA反向映射Mybatis

1.首先在pom文件的plugins中添加maven对mybatis-generator插件的支持 ` <!-- mybatis逆向工程 --><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-ma......

lichengyou20 ⋅ 今天 ⋅ 0

4.10/4.11/4.12 lvm讲解 4.13 磁盘故障小案例

准备磁盘分区 fdisk /dev/sdb n 创建三个新分区,分别1G t 改变分区类型为8e 准备物理卷 pvcreate /dev/sdb1 pvcreate /dev/sdb2 pvcreate /dev/sdb3 pvdisplay/pvs 列出当前的物理卷 pvremo...

Linux_老吴 ⋅ 今天 ⋅ 0

zabbix 3.4安装

#已装好lamp环境 1.安装相关yum仓库 rpm -i http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm #tip:rpm -ql zabbix-release 看上面这个软件装了哪些东......

山月关 ⋅ 今天 ⋅ 0

Java的Excel导出工具类

首先在POM中引入需要的Jar <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.47</version></dependency><dependency><groupId>o......

Kxvz ⋅ 今天 ⋅ 0

springboot 使用jsp

目录结构: 启动文件的Application必须在contorller文件的父级 文件路径在src/main/webapp下面 我的配置:前缀是/WEB-INF/jsp/ pom.xml需要加入tomcat-embed-jasper, 对jsp的支持的依赖 <de...

夜醒者 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部