- 전체
- 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
- kivy (python)
Python 인터넷 Python으로 공공데이터 오픈 API 활용하기
2016.01.14 20:50
이번에는 소스코드를 통해서 공공데이터를 받아오는 부분을 간단하게 작성합니다.
1. Python으로 공공데이터 오픈 API 활용하기
이전 포스팅에서 살펴본 서울 열린데이터 광장의 "세종문화회관 공연/전시 정보"의 데이터를 받아와서 XML 파일로 저장하는 것을 해보죠.
일단 소스코드 부터 보시죠.
#!/usr/bin/python
# -*- coding:utf-8 -*-
#import libraries ===================================================================
#python url
import urllib2
# ===================================================================================
class GetData:
#seoul open api
url = "http://openapi.seoul.go.kr:8088/여러분들 OpenAPI Key 값/xml/SJWPerform/1/5"
def main(self):
try:
data = urllib2.urlopen(self.url).read()
#save xml file
f = open("/var/www/html/data.xml", "w")
f.write(data)
except urllib2.HTTPError, e:
print "HTTP error: %d" % e.code
except urllib2.URLError, e:
print "Network error: %s" % e.reason.args[1]
if __name__ == "__main__":
getData = GetData()
getData.main()
저장이 완료된 파일을 열어보면 아래와 같습니다.
<?xml version="1.0" encoding="UTF-8"?><SJWPerform>
<list_total_count>7036</list_total_count>
<RESULT>
<CODE>INFO-000</CODE>
<MESSAGE>정상 처리되었습니다</MESSAGE>
</RESULT>
<row>
<PERFORM_CODE>chpi2007060815</PERFORM_CODE>
<TITLE>소프라노 정동희, 바리톤 정록기 두오 연주회</TITLE>
<START_DATE>20070608</START_DATE>
<END_DATE>20070608</END_DATE>
<PLACE_NAME>세종체임버홀</PLACE_NAME>
<PLAY_TIME>2007년 6월 8일 (금) 19:30 (90분)</PLAY_TIME>
<AGE>:만 8세이상 관람가</AGE>
<PLAN_COMPANY>세실예술</PLAN_COMPANY>
<INQUIRY_PHONE>세실예술 02) 583-6295</INQUIRY_PHONE>
<INQUIRY_EMAIL/>
<TICKET_INFO>R석 3만원 / S석 2만원</TICKET_INFO>
<DISCOUNT_INFO>국가유공자, 장애인 50% 할인(동반1인)-전화,방문예매만가능</DISCOUNT_INFO>
<DISCOUNT_CHARGED>-</DISCOUNT_CHARGED>
<GENRE_NAME>기악</GENRE_NAME>
<ISOPEN>Y</ISOPEN>
<ISOPENNM>공개</ISOPENNM>
<FILE_URL_MI/>
.....
.....
.....
이렇게 3개 포스팅으로 간단하게 공공데이터가 무엇인지, 어디에 있는지, 어떻게 활용하는지에 대해서 간략하게 살펴봤습니다.
앞으로 더 많은 공공데이터가 개방되고, 잘 활용될 수 있기를 기대합니다.
[출처] http://ngee.tistory.com/355
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.

