「Python实用秘技17」快速获取国内节假日安排
本文完整示例代码及文件已上传至我的
Github
仓库https://github.com/CNFeffery/PythonPracticalSkills
这是我的系列文章「Python实用秘技」的第17期,本系列立足于笔者日常工作中使用Python
积累的心得体会,每一期为大家带来一个几分钟内就可学会的简单小技巧。
作为系列第17期,我们即将学习的是:快速获取国内节假日安排。
![](https://img2024.cnblogs.com/blog/1344061/202405/1344061-20240522101049768-1488308396.jpg)
在很多场景下,我们需要获知国内具体的节假日安排情况,而国内每一年具体的放假安排以及调休情况,都依赖于国务院发布的具体公告,如果不想自己手动整理相关数据的话,可以基于开源项目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
键值对中:
![](https://img2024.cnblogs.com/blog/1344061/202405/1344061-20240522101052165-975681846.png)
其中isOffDay
字段表示对应日期是否为休息日,用于标识受对应节假日调休影响而需要上班的苦逼周末日😅,基于此,我们就可以快捷进行某个日期是否为法定节假休息日的判断,譬如基于pandas
:
![](https://img2024.cnblogs.com/blog/1344061/202405/1344061-20240522101054480-1414402529.png)
本期分享结束,咱们下回见~👋