首页 > 编程语言 >「Python实用秘技17」快速获取国内节假日安排

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

时间:2024-05-22 10:22:09浏览次数:26  
标签:cn 17 Python 秘技 https holiday 节假日

本文完整示例代码及文件已上传至我的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字段表示对应日期是否为休息日,用于标识受对应节假日调休影响而需要上班的苦逼周末日

标签:cn,17,Python,秘技,https,holiday,节假日
From: https://www.cnblogs.com/feffery/p/18205617

相关文章

  • python开发一个起名字小软件
    01首先我们需要爬虫获取数据,收集名字数据库和相关数据,包括性别、出生年月等信息,以及名字的解释和流行趋势数据。收集名字数据库和相关数据可以通过多种途径进行,包括从公开的数据源获取、爬取网站数据、购买商业数据等。第一个步骤就是下载就是需要request插件。1)到git下载源码zi......
  • 在python中连接SQLlite
    当我们做python时,通常用到SQLlite,但是我们不需要自己建立数据库,只用写几句代码,SQLlite自己就能创建这个数据库这是我的calendar数据库例子importsqlite3definit_db():conn=sqlite3.connect('calendar.db')c=conn.cursor()c.execute('''CREATETABLEIFNOTE......
  • 8-1 【Python0021】电子算盘
    fromtkinterimport* classPaintApp:    def__init__(self,master):        self.master=master        self.canvas=tank                self.canvas.pack(fill=X)        self.canvas.bind('<B1-Motion>',self......
  • 全球厂商之最,华为17篇论文入选国际数据库顶会ICDE
    本文分享自华为云社区《全球厂商之最,华为GaussDB&GeminiDB,17篇论文入选国际数据库顶会ICDE》 ,作者:GaussDB数据库。5月13-17日,国际数据库顶级学术会议ICDE2024于荷兰乌得勒支举行。华为GaussDB和GeminiDB17篇论文入选,成为全球论文入选数量最多的数据库厂商。华为爱丁堡研究......
  • python0005
    所谓LRU算法,是指在发生缺页并且没有空闲主存块时,把最近最少使用的页面换出主存块,腾出地方来调入新页面。问题描述:一进程获得n个主存块的使用权,对于给定的进程访问页面次序,问当采用LRU算法时,输出发生的缺页次数。defLRU(pages,maxNum,n):temp=[]times=0f......
  • python0008
    用户输入整数n和m(1<n<m<1000),应用筛法求[n,m]范围内的所有素数。defsieve(n,m):"""输入两个正整数n和m,返回[n,m]范围内的所有素数的列表"""#初始化一个长度为m-n+1的列表,用于标记数值是否为素数is_prime=[True]*(m-n+1)#如果n为1,则将1......
  • python0010
    编写程序,输出一个给定正整数x(x>1)的质因子展开式。num=int(input())newnum=numtext=""counter=2whilecounter*counter<=newnum:ifnewnum%counter==0:#判断是否能够整除2text=text+str(counter)#将质因子组合起来newnum=......
  • python0009
    对于给定5X5的整数矩阵,设计算法查找出所有的鞍点的信息(包括鞍点的值和行、列坐标,坐标从1开始)。提示:鞍点的特点:列上最小,行上最大。matrix=[]matrix2=[]matrix3=[]foriinrange(5):a=input()a1=a.split("")#a1中的元素都是字符串,需要转换fori......
  • python实现客户价值分析
    本章使用的客户价值分析主要使用的是聚类分析方法,那么在对客户进行聚类前,首先使用RFM模型分析客户价值,下面进行RFM模型讲解:1.RFM模型RFM模型是衡量客户价值和潜在价值,它是衡量客户价值和潜在价值的主要工具手段。大部分人员都会接触到该模型,RFM模型是国际上最成熟、最为容易的......
  • python0012
    针对Python中的列表、元组、字典、集合、字符串,请以条目形式从各方面对比它们之间的异同。字符串是一系列字符的有序集合,用单引号或双引号括起来。字符串是不可变的,即不能修改其中的字符。元组是一系列不可变的、有序的元素的集合,用小括号括起来。元组是不可变的,即不能修改其中......