- 전체
- Python 일반
- Python 수학
- Python 그래픽
- Python 자료구조
- Python 인공지능
- Python 인터넷
- Python SAGE
- wxPython
- TkInter
- iPython
- wxPython
- pyQT
- Jython
- django
- flask
- blender python scripting
- python for minecraft
- Python 데이터 분석
- Python RPA
- cython
- PyCharm
- pySide
Python 인터넷 python - 국가공휴일 데이터 가져오기 (data.go.kr)
2021.09.05 00:39
python - 국가공휴일 데이터 가져오기 (data.go.kr)
오퍼레이션 정보
일련번호 |
서비스명(국문) |
오퍼레이션명(영문) |
오퍼레이션명(국문) |
1 |
특일 정보제공 서비스 |
getHoliDeInfo |
국경일 정보조회 |
2 |
getRestDeInfo |
공휴일 정보조회 |
|
3 |
getAnniversaryInfo |
기념일 정보조회 |
|
4 |
get24DivisionsInfo |
24절기 정보조회 |
|
5 |
getSundryDayInfo |
잡절 정보조회 |
xml 형태
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
<header>
<resultCode>00</resultCode>
<resultMsg>NORMAL SERVICE.</resultMsg>
</header>
<body>
<items>
<item>
<dateKind>01</dateKind>
<dateName>\xec\x8b\xa0\xec\xa0\x95</dateName>
<isHoliday>Y</isHoliday>
<locdate>20100101</locdate>
<seq>1</seq>
</item>
</items>
<numOfRows>10</numOfRows>
<pageNo>1</pageNo>
<totalCount>1</totalCount>
</body>
</response>'
파이썬 코딩
import requests
import datetime
from bs4 import BeautifulSoup
def print_whichday(year, month, day) :
r = ['월요일', '화요일', '수요일', '목요일', '금요일', '토요일', '일요일']
aday = datetime.date(year, month, day)
bday = aday.weekday()
return r[bday]
def get_request_query(url, operation, params, serviceKey):
import urllib.parse as urlparse
params = urlparse.urlencode(params)
request_query = url + '/' + operation + '?' + params + '&' + 'serviceKey' + '=' + serviceKey
return request_query
year = 2020
mykey = "WoMViKPOmQYKGqkJxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
for month in range(1,13):
if month < 10:
month = '0' + str(month)
else:
month = str(month)
url = 'http://apis.data.go.kr/B090041/openapi/service/SpcdeInfoService'
operation = 'getRestDeInfo'
params = {'solYear':year, 'solMonth':month}
request_query = get_request_query(url, operation, params, mykey)
get_data = requests.get(request_query)
if True == get_data.ok:
soup = BeautifulSoup(get_data.content, 'html.parser')
item = soup.findAll('item')
#print(item);
for i in item:
day = int(i.locdate.string[-2:])
weekname = print_whichday(int(year), int(month), day)
print(i.datename.string, i.isholiday.string, i.locdate.string, weekname)
출력
PS C:\Users\lucks> & d:/Python/Python39/python.exe d:/source/pythonexam/hello.py
1월1일 Y 20200101 수요일
설날 Y 20200124 금요일
설날 Y 20200125 토요일
설날 Y 20200126 일요일
설날 Y 20200127 월요일
삼일절 Y 20200301 일요일
제21대 국회의원선거 Y 20200415 수요일
부처님오신날 Y 20200430 목요일
어린이날 Y 20200505 화요일
현충일 Y 20200606 토요일
광복절 Y 20200815 토요일
임시공휴일 Y 20200817 월요일
추석 Y 20200930 수요일
추석 Y 20201001 목요일
추석 Y 20201002 금요일
개천절 Y 20201003 토요일
한글날 Y 20201009 금요일
기독탄신일 Y 20201225 금요일
PS C:\Users\lucks>
2021년 공휴일
1월1일 Y 20210101 금요일
설날 Y 20210211 목요일
설날 Y 20210212 금요일
설날 Y 20210213 토요일
삼일절 Y 20210301 월요일
어린이날 Y 20210505 수요일
부처님오신날 Y 20210519 수요일
현충일 Y 20210606 일요일
광복절 Y 20210815 일요일
추석 Y 20210920 월요일
추석 Y 20210921 화요일
추석 Y 20210922 수요일
개천절 Y 20211003 일요일
한글날 Y 20211009 토요일
기독탄신일 Y 20211225 토요일
참고 사이트
mwultong.blogspot.com/2007/01/python-int-long-float-string-to-number.html
[출처] https://aspdotnet.tistory.com/2495
본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.