2009-05-17

검색 엔진 API - Yahoo! BOSS API (하)

관련페이지 : http://developer.yahoo.com/search/boss/boss_guide/Web_Search.html

그럼 이렇게 질의를 보내서 받은 xml 형태의 결과물은 어떠할까?
내용의 예시는 다음과 같다.

<ysearchresponse responsecode="200">
   <nextpage><![CDATA[/ysearch/web/v1/foo?appid={yourBOSSappid}&format=xml&start=10]]></nextpage>
   <resultset_web count="10" start="0" totalhits="29440998" deephits="881000000">
      <result>
         <abstract><![CDATA[World <b>soccer</b> coverage from ESPN, including Premiership, Serie A, La Liga, and Major League<b>Soccer</b>. Get news headlines, live scores, stats, and tournament information.]]></abstract>
         <date>2008/06/08</date>
         <dispurl><![CDATA[www.<b>soccernet.com</b>]]></dispurl>
         <clickurl>http://us.lrd.yahoo.com/_ylc=X3oDMTFkNXVldGJyBGFwcGlkA2Jvc3NkZW1vBHBvcwMwBHNlcnZpY2UDWVNlYXJjaARzcmNwdmlkAw--/SIG=10u3e8260/**http%3/www.soccernet.com/</clickurl>
         <size>94650</size>
         <title>ESPN Soccernet</title>
         <url>http://www.soccernet.com/</url>
      </result>
   </resultset_web>
</ysearchresponse>

위 xml 형식 응답의 예에서 보면 ysearchresponse라는 노드로 모든 결과물을 감싸고 있으며
아래 resultset_web 노드에 일반적인 검색 정보들이 attribute 형식으로 담겨있는 것을 알 수 있다.
여기서 count는 검색 결과수를, start는 검색 시작 순위를, totalhits는 대략적인 검색 결과 총 수량을, 그리고 deephits는 중복을 허용한 검색 결과의 총 수량을 의미한다.
지금까지의 경험에 미루어 보면, totalhits가 통상적인 의미의 검색 결과 총 수량으로 보인다.

다음에는 result라는 자식 노드를 두고 각 결과를 표시하고 있으며
하위 노드에 abstract, date, dispurl, clickurl, size, title, url 노드를 두고 있다.

xml을 개체로 받을 수 있는 경우에는 매우 편리하게 이 자료들을 저장할 수 있다.
예로 C#의 xmldocument 개체가 있겠다.

No comments:

Post a Comment