728x90
자동으로 돌아가는 코드를 만드는데,
주말과 공휴일은 빼고 돌아야한다면 어떨까요??
크론텝으로 월-금은 설정이 가능하지만,, 공휴일 정보는 어떡하죠!?
그래서 준비했습니다!!!
공공API의 공휴일 정보!!!
ㅁ 공공 API : https://www.data.go.kr/data/15012690/openapi.do
한국천문연구원_특일 정보
(천문우주정보)국경일정보, 공휴일정보, 기념일정보, 24절기정보, 잡절정보를 조회하는 서비스 입니다. 활용시 날짜, 순번, 특일정보의 분류, 공공기관 휴일 여부, 명칭을 확인할 수 있습니다.
www.data.go.kr
빠르게 코드로 알아보겠습니다!!
import requests
import datetime
import xmltodict
import json
url = 'http://apis.data.go.kr/B090041/openapi/service/SpcdeInfoService/getRestDeInfo'
params ={'serviceKey' : 'FFtJr1LXUzBzUV2+A7MaYJc7fxDLjWwV+/ENOUgE7eATUYnxBJMY6FZ1BtDkpkzIJ73/NFEQiLsuIhw01cZAOg=='
, 'solYear' : datetime.datetime.now().strftime('%Y') #'2015'
, 'solMonth' : datetime.datetime.now().strftime('%m') }
response = requests.get(url, params=params)
# 바이트 데이터를 UTF-8로 디코딩
decoded_xml = response.content.decode('utf-8')
# XML을 Python 딕셔너리로 변환
xml_dict = xmltodict.parse(decoded_xml)
# Python 딕셔너리를 JSON 형식으로 변환
json_data = json.loads(json.dumps(xml_dict, ensure_ascii=False, indent=4))
API에서 다 처리해주기에 그냥 호출하고 json으로 만듬
위와 같이 간단히 만들어주는데요~~
이에!! 아래와 같이해서
import requests
import datetime
import xmltodict
import json
import sys
url = 'http://apis.data.go.kr/B090041/openapi/service/SpcdeInfoService/getRestDeInfo'
params ={'serviceKey' : '{내가 신청하고받은 KEY}'
, 'solYear' : datetime.datetime.now().strftime('%Y') #'2015' 와같이 연도 입력
, 'solMonth' : datetime.datetime.now().strftime('%m') }
response = requests.get(url, params=params)
# 바이트 데이터를 UTF-8로 디코딩
decoded_xml = response.content.decode('utf-8')
# XML을 Python 딕셔너리로 변환
xml_dict = xmltodict.parse(decoded_xml)
# Python 딕셔너리를 JSON 형식으로 변환
json_data = json.loads(json.dumps(xml_dict, ensure_ascii=False, indent=4))
# 결과 출력
print(json_data)
## 공휴일인지!!
skip_YN = 'N'
for holiday in json_data['response']['body']['items']['item']:
if datetime.datetime.now().strftime('%Y%m%d') in holiday['locdate']:
skip_YN = 'Y'
## 휴일인지 판단!!
if datetime.datetime.today().weekday() in [6,7]:
skip_YN = 'Y'
skip_YN
if skip_Y[:1] =='Y':
print(f"오늘{datetime.datetime.now().strftime('%Y%m%d')} 은 {skip_YN} 쉬는날로 스킵!!")
sys.exit()
휴일이라면 바로 스킵되게 할수 있습니다~~~
참 쉽죠!!!
728x90
'데이터&AI > 기타개발' 카테고리의 다른 글
[Deepvoice] 내 목소리를 학습, 파일을 생성해보자!! (클릭만하면됨) (2) | 2024.09.05 |
---|---|
[snowflake] 무작정 시작하기 with Python ② - 데이터 올리기 (0) | 2024.08.17 |
[snowflake] 무작정 시작하기 with Python ① - 가입 및 Connection맺기 (0) | 2024.08.17 |
[docker] root 계정의 /tmp 용량 부족한 에러 해결하기!! (1) | 2024.06.30 |
우분투 서버에서 GPU 세팅하기 (nvidia-smi > cuda (0) | 2024.06.23 |
댓글