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

本文完整示例代码及文件已上传至我的 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


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

标签:游戏攻略