2009. 1. 24. 13:09
WSH로 네이버 캐스트 정보 얻기 카테고리 없음2009. 1. 24. 13:09
네이버 캐스트는 JSON으로 정보를 전해주고 있다. 의미를 알 수 없는 필드들이 많지만, 썸네일 주소나 링크 주소 정도는 알아볼 수 있다.
Windows Script Host 스크립트를 javascript로 작성하여 실행하면 쉽게 JSON 정보를 분석할 수 있다.
- <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
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() 함수를 사용하는데, 받은 문자열을 그대로 사용하면 세미콜론이 필요하다는 에러가 났다. 괄호로 묶어서 쓰니까 잘 된다. 왜 이런지는 아직 잘 모르겠다.
이 글은 스프링노트에서 작성되었습니다.
댓글을 달아 주세요
저는 네이버에는 도통 관심이 없어서 오픈캐스트도 통 관심이 가지 않더군요.
지식인의 서재 같은 양질의 콘텐트를 제공해주거나 하는 면은 좋은 것 같습니다. 네이버 같은 거대 기업에서 돈을 쏟아부어서 이런 좋은 일 정도는 해줘야죠. ^^