node.js를 활용하여 공공데이터포털 API 데이터 가져오기를 어떻게 해야 하는지 알려드리겠습니다. 공공데이터포털 API 데이터 가져오기를 통해 다양한 서비스를 제공할 수 있습니다. 예를 들어, 자격증 정보 사이트, 버스 정류장 시간 정보 사이트 등을 운영할 수 있습니다. 이 글에서 공공데이터포털 API 데이터 가져오기를 어떻게 해야 하는지 그리고 XML 형태를 JSON으로 변환하는 과정을 알려드리겠습니다.


node.js 공공데이터포털 API 데이터 가져오기

목 차


    공공데이터포털 API 데이터 가져오기

    공공데이터포털 가져오기

    공공데이터포털은 공공기관이 보유하고 있는 데이터를 하나로 통합 관리하는 사이트입니다. 여기서 자신이 운영하고자 하는 API를 활용 신청하여 개발 언어로 API의 데이터를 가져올 수 있습니다.

    공공데이터포털 인증키 받는 방법

    공공데이터포털 활용 신청

    인증키는 API를 활용하는 데 필요한 고유 번호입니다. 만약, 자신이 한국산업인력공단_국기기술자격 종목 정보 API를 활용하고자 한다면 위 사진과 같이 활용 신청을 해야 합니다. 활용 신청에는 활용목적과 내용을 적어야 하는데 보통 웹 사이트 개발이라고 적습니다.

    공공데이터포털 api 서비스 정보

    활용 신청하면 바로 승인이 되므로 이 부분은 걱정하지 않아도 됩니다. 서비스 정보에서 확인해야 할 것은 일반 인증키와 데이터포맷이 XML인지 JSON인지 확인하는 것과 미리 보기를 통해 정상적으로 데이터가 통신하고 있는지 확인해야 합니다. 보통 활용 신청 후 1시간에서 2시간 사이에 데이터가 통신 됩니다.

    공공데이터포털 api 데이터 통신

    위 사진처럼 정상적으로 데이터가 들어온다면 이제 이것을 활용하면 됩니다. 이 글에서는 node.js를 활용하여 공공데이터포털 API 데이터 가져오기를 해보겠습니다.

    node.js request 모듈 활용

    request 모듈의 사용 방법은 이곳에서 확인할 수 있습니다. request 모듈은 현재 업데이트를 하지 않지만 아직도 많이 사용합니다. 이 모듈은 API의 데이터를 가져오는 데 필요합니다.

    import request from "request";
    
    const url  = 'http://openapi.q-net.or.kr/api/service/rest/InquiryQualInfo/getList';
    const SERVICE_KEY = SERVICE_KEY;
    const requestUrl =  `${url}?serviceKey=${SERVICE_KEY}&seriesCd=01`
    
    request(requestUrl,(err, response, body)=>{
        if(err) throw err;
        console.log(body);
    })

    공공데이터포털 API 주소를 입력하세요. 위 XML 형태의 데이터 주소를 보고 그대로 적어주시면 됩니다. 그런 다음 request 모듈을 사용하기 위해 설정합니다. API 주소가 저장된 requestUrl를 body에서 데이터를 가져옵니다.

    node.js xml2js 모듈 활용

    xml2js 모듈의 사용 방법은 이곳에서 확인할 수 있습니다. xml2js 모듈은 XML 형태의 데이터를 JSON 형태의 데이터로 바꾸거나 JSON 형태의 데이터를 XML 형태의 데이터로 변환할 수 있는 역할을 합니다.

    import request from "request";
    let parseString = require('xml2js').parseString;
    
    const url  = 'http://openapi.q-net.or.kr/api/service/rest/InquiryQualInfo/getList';
    const SERVICE_KEY = SERVICE_KEY;
    const requestUrl =  `${url}?serviceKey=${SERVICE_KEY}&seriesCd=01`
    
    request(requestUrl,(err, response, body)=>{
        if(err) throw err;
        parseString(body, (err, result) => {
            if(err) throw err;
            let parseData = result;
            console.log(parseDate);
        })
    })

    XML 형태의 데이터, body를 parseString을 통해 json 형태의 데이터로 변환되었습니다.

    정리

    node.js에서 XML 형태의 API는 request 모듈과 xml2js 모듈을 활용하면 공공데이터포털 API 데이터 가져오기가 가능합니다. JSON 형태는 request 모듈만 있으면 됩니다. JSON 형태의 데이터는 파일로 저장할 수 있고 API 서버를 만들어서 AJAX로 활용할 수 있습니다.

    같이 보면 좋은 글

    node.js 서버 만들기

    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기