카테고리 없음

WSH로 네이버 캐스트 정보 얻기

wafe 2009. 1. 24. 13:09

네이버 캐스트는 JSON으로 정보를 전해주고 있다. 의미를 알 수 없는 필드들이 많지만, 썸네일 주소나 링크 주소 정도는 알아볼 수 있다.

Windows Script Host 스크립트를 javascript로 작성하여 실행하면 쉽게 JSON 정보를 분석할 수 있다.

  1. <job>
        <script languge="JScript">
            // 네이버 지식인의 서재 정보 얻기
            // file: nav_intelli.wsf
            var xmlhttp = WScript.CreateObject("Msxml2.XMLHTTP");
            xmlhttp.open("GET", "http://www.naver.com/include/navercast/naverCastToday.json.09", false/*bAsync*/);
            xmlhttp.send();
            var response_text = xmlhttp.responseText;

            var navcast = eval('(' + response_text + ')');
            var shelves = navcast.data[4].intellctual[1];
            var result = "";
            for (var i = 0; i < shelves.length; ++i) {
                result += "href=" + shelves[i][2] + "\r\n";
                result += "src=" + shelves[i][3] + "\r\n";
            }
            WScript.StdOut.Write(result);

            //var fso = WScript.CreateObject("Scripting.FileSystemObject");
            //tf = fso.CreateTextFile("response.txt", true/*overwrite*/, true/*unicode*/);
            //tf.Write(response_text);
            //tf.Close();
        </script>
    </job>

 

커맨드라인에서 실행해본 결과.

Microsoft (R) Windows Script Host 버전 5.7
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

href=http://book.naver.com/bookshelf/story.nhn?startmonth=200901
src=http://static.naver.com/www/u/2008/1231/nmms_234746181.jpg
href=http://book.naver.com/bookshelf/story.nhn?startmonth=200812
src=http://static.naver.com/www/u/2008/1231/nmms_2344792.jpg
href=http://book.naver.com/bookshelf/story.nhn?startmonth=200811
src=http://static.naver.com/www/u/2008/1231/nmms_23353632.jpg

 

얻어온 JSON 데이터를 javascript 개체로 만들 때 eval() 함수를 사용하는데, 받은 문자열을 그대로 사용하면 세미콜론이 필요하다는 에러가 났다. 괄호로 묶어서 쓰니까 잘 된다. 왜 이런지는 아직 잘 모르겠다.

 

이 글은 스프링노트에서 작성되었습니다.