• 获取官方节假日数据的api接口,获取指定日期的节假日数据


    获取指定日期的节假日信息

    1、接口地址:http://api.goseek.cn/Tools/holiday?date=数字日期
    2、返回数据:正常工作日对应结果为 0, 法定节假日对应结果为 1, 节假日调休补班对应的结果为 2,休息日对应结果为 3 
    3、节假日数据说明:本接口包含2017年起的中国法定节假日数据,数据来源国务院发布的公告,每年更新1次,确保数据最新
    4、示例:
    http://api.goseek.cn/Tools/holiday?date=20170528 
    返回数据:

    {"code":10000,"data":1}     

    免费节假日API 开源了,可以离线调用, 可以集成到自己系统中

    功能

    检查具体日期是否为节假日,工作日对应结果为 0, 休息日对应结果为 1, 节假日对应的结果为 2;(对应支付工资比例分别为 100%, 200% 和 300%,以方便程序计算。计算方法:基本工资* (1+结果数值))
    获取具体月份下的节假日情况,只返回休息日或者节假日数据;
    可同时传递一个或者多个日期(月份);
    支持 2009 年起至 2019 年中国法定节假日,以国务院发布的公告为准,随时调整及增加:http://www.gov.cn/zfwj/bgtfd.htm或http://www.gov.cn/zhengce/xxgkzl.htm
    注:当结果为数组时默认返回数据为 json 格式。

    开源说明

    注:原百度节假日API即为本人提供,后百度apistore禁止个人开发者所以才有此独立接口。鉴于免费版访问量过大对于服务器压力过大现将免费版开源供大家离线调用。

    使用说明
    
    下载源码部署到到系统中直接调用?d=日期
    离线调用方法
     include('include/dateapi.class.php');
     $api= new dateapi();
     $result= $api->getday($date);
    import calendar
    from  urllib import request
    from random import randrange
    import json
    import time
     
     
     
    year = 2020
    data_list = []
    for month in range(1,13):
        week_list = calendar.monthcalendar(year,month)
        for i in week_list:
            for j in i:
                if j!=0:
                    # 法定节假日信息
                    # target_url = "http://www.easybots.cn/api/holiday.php?d=%s%02d%02d"% + current_date
                    current_date = "%s%02d%02d"%(year,month,j)
                    target_url = "http://api.goseek.cn/Tools/holiday?date=" + current_date
                    # target_url = "http://tool.bitefu.net/jiari?date=%s%02d%02d" + current_date
                    print(target_url)
                    headers = [
                        ("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3"),
                        ("Accept-Encoding", "gzip, deflate"),
                        ("Accept-Language", "zh-CN,zh;q=0.9"),
                        ("Connection", "keep-alive"),
                        ("Host", "api.goseek.cn"),
                        ("Upgrade-Insecure-Requests", 1),
                        ("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36")
                    ]
     
                    opener = request.build_opener()
                    opener.addheaders = headers
                    resp = opener.open(target_url).read()
                    # resp = request.urlopen(url=target_url).read()
                    print(resp)
                    res = json.loads(resp)
                    res["date"] = current_date
                    print(res)
                    # resp = str(resp)[2:-1].replace(""","'")
                    data_list.append(res)
                    time.sleep(randrange(2,10))
     
    data = json.dumps(data_list)
    with open("{}cla.json".format(year),"w",encoding="utf-8") as fp:
        fp.write(data)
     
     
    with open("{}cla.json".format(year),"r",encoding="utf-8") as fp:
        a = fp.read()
        b = json.loads(a)
        print(a)
     
    for i in b:
        print(i)
     
  • 相关阅读:
    http请求类型简介
    关于PLSQL连接报错:ORA-12154:TNS:无法解析指定的连接标识符
    JDK8的安装与配置
    今天新装tomcat遇到黑窗口(startup.bat)启动乱码问题解决!!!
    一个简单的工厂模式(一个接口,多个实现,通过调用条件的不同,分别去调用符合的实现)
    数组(复习)
    java选择结构、循环结构(复习)
    java常用的数据类型,变量和常量,运算符(复习)
    java输入输出,书写规范,运行原理,跨平台原理(复习)
    JAVA基础入门(JDK、eclipse下载安装)
  • 原文地址:https://www.cnblogs.com/liang715200/p/14842818.html
Copyright © 2020-2023  润新知