반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 네이버 로그인 하기
- 네이버부동산크롤링
- 네이버 로그인 캡챠해결
- venv 설치
- uipath 입문
- selenium
- pywinauto
- 네이버매물크롤링
- Uipath 설치방법
- 네이버 로그인 영수증 해결
- pycdc.exe
- Uipath 기초
- pywinauto 윈도우
- pycdas.exe
- 파이썬네이버부동산
- 네이버커머스API
- vscode venv 설치
- pywinauto 윈도우제어
- Element is not clickable at point
- Python
- 가상환경설치
- UiPath
- 커머스API
- 파이썬 환경설정
- 파이썬 네이버 로그인
- Selenium 셀렉터잡기
- 날짜 정규식
- 왕초보 파이썬 실행
- 파이썬 가상환경 설치
- 파이썬 가상환경 설치방법
Archives
- Today
- Total
콘솔워크
파이썬 공휴일 가져오기 (++공공데이터 활용) python holidays 공휴일 포함 본문
반응형
파이썬 공휴일 가져오려면 공공데이터 활용하는게 좋다. 왜냐하면 다른 라이브러리를 대체공휴일 같은 정보를 가져올 수 없기 때문이다.
1. 인증키 획득
2. 파이썬 패키지 설치
3. 소스코드 확인
1. 인증키 획득
일단 사용을 위해서는 공공데이터포털에서 인증키를 가져와야한다.
공공데이터포탈 회원 없는 사람은 먼저 회원가입부터하고 로그인하고 접속한다.
https://www.data.go.kr/data/15012690/openapi.do
한국천문연구원_특일 정보
(천문우주정보)국경일정보, 공휴일정보, 기념일정보, 24절기정보, 잡절정보를 조회하는 서비스 입니다. 활용시 날짜, 순번, 특일정보의 분류, 공공기관 휴일 여부, 명칭을 확인할 수 있습니다.
www.data.go.kr
2. 라이브러리 설치
pip install pandas, requests
3. 파이썬 소스코드
from datetime import datetime
import requests
import json
import pandas as pd
from pandas import json_normalize
class KoreaHolidays:
def __init__(self):
pass
def get_holidays(self):
today = datetime.today().strftime("%Y%m%d")
today_year = datetime.today().year
KEY = "공공데이터 포탈 인코딩된 인증키"
url = (
"http://apis.data.go.kr/B090041/openapi/service/SpcdeInfoService/getRestDeInfo?_type=json&numOfRows=50&solYear="
+ str(today_year)
+ "&ServiceKey="
+ str(KEY)
)
response = requests.get(url)
if response.status_code == 200:
json_ob = json.loads(response.text)
holidays_data = json_ob["response"]["body"]["items"]["item"]
dataframe = json_normalize(holidays_data)
# dateName = dataframe.loc[dataframe["locdate"] == int(today), "dateName"]
# print(dateName)
return dataframe["locdate"].to_list()
def today_is_holiday(self):
_today = datetime.now().strftime("%Y%m%d")
holidays = self.get_holidays()
# holidays.append(20220908)
print(holidays)
is_holiday = False
if int(_today) in holidays:
is_holiday = True
print(is_holiday)
return is_holiday
if __name__ == "__main__":
koreaHolidays = KoreaHolidays()
koreaHolidays.today_is_holiday()
반응형