「Python实用秘技17」快速获取国内节假日安排

python · 浏览次数 : 0

小编点评

**代码示例:** ```python import requests import json target_url = 'https://fastly.jsdelivr.net/gh/NateScarlet/holiday-cn@master/{}.json' response = requests.get(target_url.format(2024), timeout=10) data = json.loads(response.content) is_off_day = data["days"]["isOffDay"] print(f"日期 {data['days']['date']} 是节假日:{is_off_day}") ``` **文件信息:** * **标题:**快速获取国内节假日安排 * **作者:**CNFeffery * **项目地址:**github.com/CNFeffery/PythonPracticalSkills * **版本:**1.0 * **语言:**Python **用法:** 1. 将代码复制到 Python 中的编辑器中。 2. 将 `2024` 替换为您希望查询的年份。 3. 保存并运行代码。 **输出:** 如果日期 `2024` 是节假日,则输出以下消息: ``` 日期 2024 是节假日:False ``` **注意:** * 为了使用该代码,您需要安装 `requests` 和 `json` 模块。可以使用 `pip` 命令安装:`pip install requests json`。 * 该代码仅获取最近 1 年的节假日安排。您可以通过修改 `target_url` 的格式获取更远的日期。

正文

本文完整示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/PythonPracticalSkills

  这是我的系列文章「Python实用秘技」的第17期,本系列立足于笔者日常工作中使用Python积累的心得体会,每一期为大家带来一个几分钟内就可学会的简单小技巧。

  作为系列第17期,我们即将学习的是:快速获取国内节假日安排。

  在很多场景下,我们需要获知国内具体的节假日安排情况,而国内每一年具体的放假安排以及调休情况,都依赖于国务院发布的具体公告,如果不像自己手动整理相关数据的话,可以基于开源项目holiday-cn(项目地址:https://github.com/NateScarlet/holiday-cn)来获取最新实时的国内放假安排:

  holiday-cn是在Github上持续维护的项目,其通过每日自动抓取国务院公告,来解析出每年的国内法定节假日数据,并通过Github以及一些常见的CDN源提供直接可用的JSON格式数据,在Python中,我们就可以针对其中国内访问起来较为稳定的fastly.jsdelivr源获取最新数据:

import requests

# 查询目标网址,基于开源项目:https://github.com/NateScarlet/holiday-cn
target_url = 'https://fastly.jsdelivr.net/gh/NateScarlet/holiday-cn@master/{}.json'

# 请求目标年份数据
response = requests.get(target_url.format(2024), timeout=10)

  查看返回数据格式,可以看到主要的放假安排信息在days键值对中:

  其中isOffDay字段表示对应日期是否为休息日,用于标识受对应节假日调休影响而需要上班的苦逼周末日😅,基于此,我们就可以快捷进行某个日期是否为法定节假休息日的判断,譬如基于pandas


  本期分享结束,咱们下回见~👋

与「Python实用秘技17」快速获取国内节假日安排相似的内容:

「Python实用秘技17」快速获取国内节假日安排

本文完整示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/PythonPracticalSkills 这是我的系列文章「Python实用秘技」的第17期,本系列立足于笔者日常工作中使用Python积累的心得体会,每一期为大家带来一个几分钟内就可学会的

推荐一款Python接口自动化测试数据提取分析神器!

1、引言 在处理JSON数据时,我们常常需要提取、筛选或者变换数据。手动编写这些操作的代码不仅繁琐,而且容易出错。Python作为一个功能强大的编程语言,拥有丰富的库和工具来处理这些数据。今天,将介绍一个实用的Python库——JMESPath,它为提取JSON数据提供了简洁而强大的语法。 2、JM

< Python全景系列-7 > 提升Python编程效率:模块与包全面解读

Python全景系列的第七篇,本文将深入探讨Python模块与包的基本概念,使用方法以及其在实际项目中的应用。我们也会揭示一些鲜为人知,却又实用的技术细节。

Python Django Web开发实战

# Python Django全面介绍 Django是一个非常强大的Python Web开发框架,它以"快速开发"和"干净、实用的设计"为设计宗旨。本文将从Django的基本概念开始,逐渐引导大家理解如何使用Django构建复杂的web应用程序。 ## Django基本概念与原理 首先,让我们从Dj

单例模式

python实现单例模式 在Python中实现单例模式可以通过装饰器、元类或者直接在类中实现。以下是一个使用装饰器实现的单例模式示例: def singleton(cls): instances = {} def get_instance(*args, **kwargs): if cls not i

Python实现输入三个整数x,y,z,请把这三个数由小到大输出;

num1=input('请输入第一个数,x:') num2=input('请输入第二个数,y:') num3=input('请输入第三个数,z:') if num1>num2: # if 语句判断 num1,num2=num2,num1 if num1>num3: num1, num3 = num3

python实现在函数中捕获某个异常,然后将异常的具体信息写入error.txt文件中;

在程序开发中,如果对某些代码的执行不能确定(程序语法完全正确) 可以增加try来捕获异常 try这个关键字来捕获异常try:尝试执行的代码except:出现错误的处理 def func(): try: print(a) except NameError as e1: with open('error

python实现创建一个银行类,这个类实现了两个方法,第一个方法可以将用户信息写入到文件中,第二个方法可以读取文件中的用户信息出来

class bank: def user_info(self): a=input('请输入用户信息:') # 不写encoding = 'utf-8'中文会乱码 with open('info.txt','w',encoding='utf-8') as f: f.write(a) def get_i

Python实现商城购物经典案例

一:代码前思路解析 建一个商城类(Store) A.开店(写一个开店的方法,添加商品信息) 商家:店名 1.商品 2.有没有货(相同货的个数) 3.价格 4.评价(是用户评价的) 5.销售量 属性B.用户买东西(写一个购物的方法,先选择商城) 选择一个商城及购买对应商城商品,购买的数量要大于库存数量

Python 实现 定义个矩形类,有长和宽两个实例属性,还有一个计算面积的方法

思路:'''1.定义矩形类2.定义属性 属性分:类属性和实例属性实例属性==》self.属性 》self是一个参数在一个方法中==》_init_方法 3.定义方法 def Area(self): s=self.length*self.width ''' class Square: def __ini