[Crawling] Open API 활용 & json 데이터 추출
13 Jan 2020 | Crawling Open-API국내 최대 규모인 공공데이터 포털의 Open API를 사용함.
1. 공공데이터 포털 로그인 (https://www.data.go.kr)
2. API 사용 요청 / 키 발급
3. API 문서 (specification) 확인 –> 대부분의 사용방법이 상세히 적혀있음.
4. API 테스트 및 개발
원하는 API를 요청하고 인증키를 발급받으면 서비스 정보에 다음과 같이 인증키가 뜸.
긁어서 파이썬 변수에 넣어줌.
API 문서를 확인하면 다음과 같이 친절하게 다 적혀있음.
해당 url을 긁어와서 인증키 부분에 내 키를 넣어줌.
endpoint = 'http://api.visitkorea.or.kr/openapi/service/rest/EngService/areaCode?
serviceKey={}&numOfRows=10&pageSize=10&pageNo=1&MobileOS=ETC&
MobileApp=AppTest&_type=json'.format(service_key)
print(endpoint)
Parameterfmf 확인하고 요청을 함.
requests 모듈을 활용하여 API 를 호출하고 response를 확인하여 원하는 정보를 추출함.
json 데이터의 경우, python dict 형태로 변경이 가능하기 때문에 json 으로 바꿔주는 게 좋다.
이 때, json에 대한 내용도 API 에 적혀있을 수 있다. 아래와 같이..
import requests
endpoint = 'http://api.visitkorea.or.kr/openapi/service/rest/EngService/areaCode?serviceKey={}&numOfRows=10&pageSize=10&pageNo={}&MobileOS=ETC&MobileApp=AppTest&_type=json'.format(service_key,1)
resp = requests.get(endpoint)
print(resp.status_code)
print(resp.text)
data = resp.json()
print(data['response']['body']['items']['item'][0])
위의 코드 8줄에 resp.json()을 통해 dictionary로 바꿀 수 있으며 data의 타입을 출력하면 dict 라고 나온다.
위의 내용은 fastcampus 강의 내용을 기반으로 합니다.
Comments