달력

7

« 2025/7 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

'네이버 실시간검색어'에 해당되는 글 1

  1. 2010.12.27 Naver의 OpenAPI와 Java샘플 코드
2010. 12. 27. 01:02

Naver의 OpenAPI와 Java샘플 코드 IT 이야기2010. 12. 27. 01:02

네이버 개발자 센터가 2008년에 오픈하여 곧 4년이 되어갑니다
하지만 개발자들의 참여는 생각보다 훨씬 저조해 보입니다.

개설된 프로젝트는 약 4000개 밖에 되지 않고,
네이버가 주관하고 있는 오픈소스 프로젝트가 아닌경우, 프로젝트 참여 멤버수는 1명의 프로젝트가 대부분이기 때문입니다
프로젝트를 개설함과 동시에 SVN 서버를 만들어주니 스터디등의 프로젝트로 사용하기에 더 없이 좋아보입니다

그럼 네이버가 제공하는 오픈API를 살펴봅시다
오픈API는 크게 6개의 API로 나뉘어 있습니다


각 API의 자세한 내용은 네이버 개발자 센터 오픈API에서 확인 가능합니다


위의 API중 실시간 급상승 검색어를 가져오는 Java 샘플 코드를 만들어봤습니다

package sample.api.naver;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

public class NaverAPI {
    // NaverAPI의 URL주소
    private final static String url = "http://openapi.naver.com/search?key=";
    // 네이버 개발자 센터에서 발급받은 자신의 key
    private final static String key = 발급받은 키;
    // 실시간 급상승 검색어의 Parameter
    private final static String url2 = "&query=nexearch&target=rank";

    public static void main(String[] args) {
        NaverAPI.getKeyword();
    }
   
   
    public static void getKeyword() {
       
        try {
            String strURL = url + key + url2;

            // 위의 url로 request를 던지면 xml형식의 결과를 반환한다
            DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = builderFactory.newDocumentBuilder();
            Document doc = builder.parse(strURL);
            Element root = doc.getDocumentElement();
            // 취득한 xml형식의 결과에서 실시간 겁색어만 뽑아온다
            NodeList itemList = root.getElementsByTagName("K");
           
            for (int i = 0; i < itemList.getLength(); i++) {
                Element itemElement = (Element) itemList.item(i);
               
                String keyword = itemElement.getFirstChild().getNodeValue();
                System.out.println(keyword);
            }
           
        } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (ParserConfigurationException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SAXException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
       
}

위의 코드를 실행하면 실시간 검색어의 1위부터 10위까지 콘솔에 찍어냅니다
이를 기반으로 실시간 검색어를 수집할 수 있게됩니다.

참고로 openAPI의 사용제한은 하루 25000번입니다
:
Posted by Jay_Kim