python脚本-工作日、休息日查询YYYY-MM-DD(万年历版)

注释都有,看代码

# coding=utf-8
import json, requests
reopen_nos = 3 #全局参数:默认函数失败重试次数class WhTime:def work_time(self,data_time,reopen_no=reopen_nos): #日期格式YYYY-MM-DD,传2024-5-3和2024-05-03均兼容for ii in range(reopen_no):try:year, month, day = data_time.split('-')headers = {"Content-Type": "application/json;charset=UTF-8"}param = {"query":f'{int(year)}' + "年" + f'{int(month)}' + "月","resource_id":"39043","t":"1718610173506","ie":"utf8","oe":"gbk","format":"json","tn":"wisetpl","cb":""}wh_json = requests.get(url="https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php",headers=headers,params=param).textmonth_data = json.loads(wh_json)["data"][0]["almanac"]  #返回结果 除了查询月、还包含上一个月和下一个月not_work_day = []for i in month_data:    #提取休息日if i["cnDay"] == '日' or i["cnDay"] == '六':if 'status' in i:if i["status"] == "2":  # 周末的工作日。显示“班”的日期continueelse:   # 普通周末时间not_work_day.append(i)continueelse:   # 普通周末时间。(接口中,如果左上角没有特殊表示,则不会返回status)not_work_day.append(i)continueif 'status' in i and i["status"] == "1":  # status为1的时候表示休息日。即百度工具左上角显示“休”的日期not_work_day.append(i)not_work_days = []for a in not_work_day:  #将休息日列表 格式化2024-5-3not_work_days.append(a["year"] + "-" + a["month"] + "-" + a["day"])if f'{int(year)}-{int(month)}-{int(day)}' in not_work_days:return 1,"休息日"else:return 0,"工作日"except requests.RequestException as e:print(f'——————>>>日期 {data_time} 查询第 {ii+1} 次失败,requests请求异常,error:{e}')except Exception as e:print(f'——————>>>日期 {data_time} 查询第 {ii+1} 次失败,响应内容{wh_json.text},error:{e}')www = WhTime()
print(www.work_time('2024-9-29'))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/28851.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

XSKY 在金融行业:新一代分布式核心信创存储解决方案

近日,国家金融监督管理总局印发了《关于银行业保险业做好金融“五篇大文章”的指导意见》,在数字金融领域提出明确目标,要求银行业保险业数字化转型成效明显,数字化经营管理体系基本建成,数字化服务广泛普及&#xff0…

怎样增强 CLike 游戏的社交功能,促进玩家之间的互动和交流?

要增强CLike游戏的社交功能,以促进玩家之间的互动和交流,可以考虑以下几个方面: 添加聊天功能:在游戏中加入实时聊天功能,让玩家可以在游戏内互相交流。可以通过文本聊天或者语音聊天来实现。 社交平台集成&#xff1…

开源模型应用落地-音乐生成模型-suno/bark深度使用-AIGC应用探索(六)

一、前言 学习音乐生成模型具有极其重要的价值。通过对音乐生成模型的深入学习,我们能够探索到音乐创作的全新边界和可能性。它不仅可以开启一扇通往无限音乐创意的大门,让我们领略到科技与艺术完美融合所带来的震撼与惊喜,还能帮助我们在音乐领域实现前所未有的突破和创新。…

层归一化和残差连接

层归一化和残差连接是深度学习中两种重要的技术,它们分别在不同方面对神经网络的性能有显著提升。以下是关于这两种技术的详细解释: 层归一化( L a y e r N o r m a l i z a t i o n Layer Normalization LayerNormalization) 1…

SaaS案例分享:成功构建销售渠道的实战经验

面对SaaS产品推广的难题,你是否曾感到迷茫,不知如何选择有效的销售渠道?Shopify独立站联盟营销或许能为你提供新的思路。Shopify作为领先的电商解决方案提供商,其独立站功能为众多商家提供了强大的在线销售平台。而联盟营销&#…

MySQL用户权限管理详解

MySQL 用户管理权限非常详细且灵活,允许管理员精确控制不同用户对数据库的访问和操作能力。权限系统基于权限层级和具体操作类型来设计。以下是一些核心概念和权限详解: 权限层级 全局级权限:影响整个MySQL服务器,例如CREATE US…

数据库的增删改查操作语句及一些常用的进阶语句

在关系数据库管理系统(RDBMS)中,增删改查(CRUD)操作是最基本的数据库操作。以下是这些操作的详细介绍以及其他常用的数据库操作语句。 增(Create/Insert) 1. 创建数据库 创建一个新的数据库。…

lua手动添加Opencv Mat对象

错误写法 在lua的userdata中分配内存 使用c的placement new 调用 Mat 类的构造函数,把对象分配在lua的userdata空间中 Mat的生命周期由lua虚拟机管理,跟随lua变量生命周期 void createMat(const std::string& filename,Mat *result) {Mat img c…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 生成哈夫曼树(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 📎在线评测链接 生成哈夫曼树(100分) 🌍 评测功能需要订阅专栏后私信联系清…

如何应对缺失值带来的分布变化?探索填充缺失值的最佳插补算法

本文将探讨了缺失值插补的不同方法,并比较了它们在复原数据真实分布方面的效果,处理插补是一个不确定性的问题,尤其是在样本量较小或数据复杂性高时的挑战,应选择能够适应数据分布变化并准确插补缺失值的方法。 我们假设存在一个…

506.相对名次

给你一个长度为 n 的整数数组 score ,其中 score[i] 是第 i 位运动员在比赛中的得分。所有得分都 互不相同 。 运动员将根据得分 决定名次 ,其中名次第 1 的运动员得分最高,名次第 2 的运动员得分第 2 高,依此类推。运动员的名次…

【Java】已解决:Java.lang.OutOfMemoryError: GC overhead limit exceeded

文章目录 问题背景可能出错的原因错误代码示例正确代码示例注意事项 问题背景 java.lang.OutOfMemoryError: GC overhead limit exceeded 是Java虚拟机(JVM)在运行时遇到的一种内存溢出错误。这种错误通常发生在应用程序的堆内存(Heap Memor…

c++ namespace详解

在C中,命名空间(namespace)是一种用于组织代码的机制,能够避免命名冲突。通过命名空间,可以将相关的类、函数、变量等组织在一起,使代码更具结构性和可读性。 使用命名空间 定义命名空间 你可以使用关键字…

香港Web3时代:比特币可以成为「收益性资产」吗?

原文标题:《CAN BITCOIN BE A PRODUCTIVE ASSET?》撰文:Pascal Hgli编译:Chris,Techub News本文来源香港Web3媒体 Techub News 比特币正在经历一场大的变化,人们对其性质有不同的看法。有些人将其视为日常交易的货币…

数据结构试题 16-17

先这样吧,,专业课不是统考,我发现每年的卷子风格都不太一样,侧重点也不一样。以及21的和16的发生了很大的改变。等明年1月再看看吧 那就先over啦 数据结构撒花!!!!!&am…

基于single flight来解决缓存击穿

目录 1. 缓存击穿2. 常见解决方案3.single flight方式3.1 模拟业务场景3.2 使用single flight的方式 缓存雪崩、缓存击穿、缓存穿透不单单是缓存领域的经典场景,更是面试当牛马时必备(背)八股文。 我们来讨论下缓存击穿场景下的解决方案。 …

【AI开发】RAG基础

RAG的基本流程: 用一个loader把knowledge base里的知识做成一个个的document,然后把document切分成snippets,把snippets通过embedding(比如openai的embedding模型或者huggingface的)向量化,存储到vectordb…

git 配置私人令牌

这里写自定义目录标题 获取私人令牌配置个人令牌 获取私人令牌 在个人设置里点击私人令牌选型,之后生成令牌即可。注意:令牌只会出现一次,务必保存好。 配置个人令牌 个人令牌:3c15c866fa61066212a83c66fd8133ba # 进入项目文…

.NET C# 实现国密算法加解密

.NET C# 实现国密算法加解密 概述1. SM12. SM23. SM34. SM45. SM76. SM97. ZUC C#代码实现1 SM22 SM33 SM4 概述 国密算法(SM算法)是中国国家密码管理局制定的一系列密码算法标准。这些算法被广泛应用于各种信息安全领域,包括通信、电子商务…

护眼灯对眼睛有伤害吗?千万要小心的行业四大弊端内幕

护眼灯,作为现代家居与办公环境中不可或缺的照明伴侣,因其普及性广受青睐。然而,随着大众对视觉健康意识的逐渐增强,一个疑问悄然滋生:护眼灯对眼睛有伤害吗?这一问题不仅触及到了人们对视觉健康的深层担忧…