「Python實用秘技17」快速獲取國內節假日安排

费弗里發表於2024-05-22

本文完整示例程式碼及檔案已上傳至我的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」快速獲取國內節假日安排

  本期分享結束,咱們下回見~👋

相關文章