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

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

  这是我的系列文章「Python实用秘技」的第17期,本系列立足于笔者日常工作中使用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键值对中:

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

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

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


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

发表评论

相关文章