Open api 활용: 두 판 사이의 차이
172.18.0.1 (토론) |
172.18.0.1 (토론) |
||
| 155번째 줄: | 155번째 줄: | ||
# 파라미터 임의로 수정 (학습 아님, 임의 지정, 파라미터 파악) | # 파라미터 임의로 수정 (학습 아님, 임의 지정, 파라미터 파악) | ||
# 이미지 사이즈 결정 - 학습시 이미지, '''최소 사이즈''' 있음 - '''확인 필요''' | # 이미지 사이즈 결정 - 학습시 이미지, '''최소 사이즈''' 있음 - '''확인 필요''' | ||
ResNet50을 사용하기 위한 이미지 최소 크기는 32x32 픽셀 | ResNet50을 사용하기 위한 이미지 최소 크기는 32x32 픽셀, 일반적인 권장 크기: 224x224(MAX) | ||
* 아이디어(2) - 주차장 관리 주체 필요사항 즉각 반영 - '''디지털 마케팅''' | * 아이디어(2) - 주차장 관리 주체 필요사항 즉각 반영 - '''디지털 마케팅''' | ||
| 162번째 줄: | 162번째 줄: | ||
고객사 URL 제공 | 고객사 URL 제공 | ||
'''URL 제공 정보''' - 산업부 지침, 지원 정책 및 잔고, 내부 기안문 초안, 견적서 제공(초안), 비교견적 - 태양광 중개 | '''URL 제공 정보''' - 산업부 지침, 지원 정책 및 잔고, 내부 기안문 초안, 견적서 제공(초안), 비교견적 - 태양광 중개 | ||
전략적 접근 - 1개 사이트 확보 후, 모델 만들어 가기 (사이트 구성) | |||
고객의 '''찜찜함'''과 그 해소 | |||
1) 공공기관 - 사기업이? | |||
2) 공공기관은 입찰제 - 입찰 대응(협력사), 제한 경쟁 방안(혹은 수의) 유도 | |||
* 아이디어(3) - 태양광 중개 | * 아이디어(3) - 태양광 중개 | ||
# 태양광 중개 사업의 범위 - 신규 제외? 양도 양수만? 협력사 발굴(엔티즌 처럼?) | |||
# 아이디어(2)의 사이트로 태양광 중개 사이트 활용(?) | |||
2025년 6월 12일 (목) 04:36 판
data.go.kr 에서 OPEN API로 활용하는 예를 만들어 사용한다.
사용 방법
OPEN API 사용하는 방법 간략 기술
- 공공 데이터 포털 - 접속 및 로그인 (www.data.go.kr)
- 원하는 자료 검색
- 활용 신청하기, 사용 참고 문서 다운로드
- 개발 계정 신청하기 - API키 발급
- 어떻게 사용하는지 문서 확인
- 브라우저를 이용한 테스트
샘플 작업
키 발급 신청
1. 승인요청하기
2. 요청사항 입력 및 동의
3. 승인 신청 결과 확인
키 가져오기: 마이페이지
- 상단의 마이페이지에서 키 가져 오기
- 키 확인 - 개인키와 다름
사용 및 미리보기
- 미리 보기에서 사용 및 파라미터를 확인한다.
- 미리 보기 확인
- URL 확인 : 홈 >> 마이페이지 >> 데이터 활용 >> Open API>> 활용신청 현황
자료 방식
- XML
- JSON
- 인터페이스 표준
REST의 GET 방식
- JSON 방식으로 응답시
&_returnType=json
- URL 구성
http://api.data.go.kr/openapi/tn_pubr_prkplce_info_api?serviceKey="발급된 API키"&pageNo=1&numOfRows=100&type=xml
SERVICE KEY IS NOT REGISTERED ERROR 문제 해결
- 이유 추정
아마도, web browser마다 자동으로 인코딩해서 API를 날리는 기준이 틀려서, 헛갈리는 것 같음.
실제로, 공공데이터 포털에서도 encoding과 decoding을 따로 두고 필요한 것 사용하라고 되어 있어서, 더 문제인 듯...
- 문제 해결
1. 처음 신청하고 나서, 1, 2시간 후
decoding 으로 크롬에서 http로 작성해서 전송 테스트
http://api.data.go.kr/openapi/tn_pubr_prkplce_info_api?serviceKey=' Decoding API key사용'&pageNo=1&numOfRows=100&type=xml
2. 안된다고 질의 하면, 그쪽에서 뭐 하고(?) 된다고 연락옴
--> 아마도 API Key를 Encoding으로 강제 설정하는 듯
--> 이 경우, Encoding만 정상 데이터가 출력되고, Decoding으로 접근하면 NODATA ERROR로 나옴 (이게 강제로 ENCODING 설정으로 의심 증거)
3. 프로그램 사용
대부분의 프로그램은 자동으로 ENCODING을 실시하므로, decoding을 사용하는 것이 정상이나, 2번에서 강제로 설정되었기 때문에, 프로그램에서 다시 API키를 encoding 하지 않게 분리해서 다시 합쳐줘야 함.
import requests
from urllib.parse import urlencode
url = 'http://api.data.go.kr/openapi/tn_pubr_prkplce_info_api'
servicekey = 'Encoding된 API Key 사용'
- serviceKey를 제외한 나머지 파라미터들
other_params = {
'pageNo': '1',
'numOfRows': '100',
'type': 'xml',
# ... 나머지 파라미터들
}
- URL을 직접 구성
encoded_params = urlencode(other_params)
full_url = f"{url}?serviceKey={servicekey}&{encoded_params}"
response = requests.get(full_url)
print(response.content)
결론
안된다고 연락하지 말고, encoding key, decoding key를 바꿔서 어떻게 해보자 (이상하게 바꿔 놓음)
NIA도 둘 다 올려 놓고 나몰라라 한다.
공공주차장 데이터 활용
공공 주차장 데이터 활용으로 해보자
공공 주차장 - 50면 이상 현황
- 공공 주차장 - 500개 이하 (400이상), 지역 분포
- 공공 주차장 - 판별 자동화
- 공공 주차장 - 기타 확인 방법
태양광 설치 판별
주차장에 태양광이 설치되어 있는지 확인하는 방법 검토
- 아이디어(1) - 주차장 이미지 판별
- 주차장 이미지 몇개 만 제공
- 파라미터 임의로 수정 (학습 아님, 임의 지정, 파라미터 파악)
- 이미지 사이즈 결정 - 학습시 이미지, 최소 사이즈 있음 - 확인 필요
ResNet50을 사용하기 위한 이미지 최소 크기는 32x32 픽셀, 일반적인 권장 크기: 224x224(MAX)
- 아이디어(2) - 주차장 관리 주체 필요사항 즉각 반영 - 디지털 마케팅
- 방법 - FIMA 개발 방법론, AI 코드 생성
- 비즈니스 로직
고객사 URL 제공 URL 제공 정보 - 산업부 지침, 지원 정책 및 잔고, 내부 기안문 초안, 견적서 제공(초안), 비교견적 - 태양광 중개
전략적 접근 - 1개 사이트 확보 후, 모델 만들어 가기 (사이트 구성)
고객의 찜찜함과 그 해소
1) 공공기관 - 사기업이? 2) 공공기관은 입찰제 - 입찰 대응(협력사), 제한 경쟁 방안(혹은 수의) 유도
- 아이디어(3) - 태양광 중개
- 태양광 중개 사업의 범위 - 신규 제외? 양도 양수만? 협력사 발굴(엔티즌 처럼?)
- 아이디어(2)의 사이트로 태양광 중개 사이트 활용(?)