관련페이지 : 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 개체가 있겠다.
Showing posts with label 02 Yahoo API. Show all posts
Showing posts with label 02 Yahoo API. Show all posts
2009-05-17
검색 엔진 API - Yahoo! BOSS API (중)
관련 페이지 : http://developer.yahoo.com/search/boss/boss_guide/Web_Search.html
그럼 Yahoo! BOSS API를 어떻게 사용해야 할까?
아주 간단하면서도 복잡한 문제였다... 나에겐...
일단 Webrequest와 Webresponse를 이용한 검색 결과 가져오기를 생각해 보자.
XML 형식의 검색 결과는 이 방법을 이용해서 아주 편리하게 가져올 수 있다.
Yahoo! BOSS API에서 제공하는 기본 형식은 간단하게 다음과 같다.
http://boss.yahooapis.com/ysearch/web/v1/검색어?format=xml&start=요망시작순위&count=요망결과수&appid=받은 API key
예1) 검색어가 realplayer이고 요망결과수가 1위부터 50개일 때
http://boss.yahooapis.com/ysearch/web/v1/realplayer?format=xml&count=50&appid=받은 API key
예2) 검색어가 google이고 요망결과수가 200위부터 30개일 때
http://boss.yahooapis.com/ysearch/web/v1/google?format=xml&start=200&count=30&appid=받은 API key
기본적으로 Yahoo! BOSS API는 50개의 검색 결과를 제공한다.
하지만 시작 순위를 바꾸면 다른 순위에 접근이 가능하고, 하루에 할 수 있는 질의의 제한도 없으므로
프로그램을 짜기에 따라서 한번에 많은 순위정보들을 가지고 올 수 있다.
그럼 Yahoo! BOSS API를 어떻게 사용해야 할까?
아주 간단하면서도 복잡한 문제였다... 나에겐...
일단 Webrequest와 Webresponse를 이용한 검색 결과 가져오기를 생각해 보자.
XML 형식의 검색 결과는 이 방법을 이용해서 아주 편리하게 가져올 수 있다.
Yahoo! BOSS API에서 제공하는 기본 형식은 간단하게 다음과 같다.
http://boss.yahooapis.com/ysearch/web/v1/검색어?format=xml&start=요망시작순위&count=요망결과수&appid=받은 API key
예1) 검색어가 realplayer이고 요망결과수가 1위부터 50개일 때
http://boss.yahooapis.com/ysearch/web/v1/realplayer?format=xml&count=50&appid=받은 API key
예2) 검색어가 google이고 요망결과수가 200위부터 30개일 때
http://boss.yahooapis.com/ysearch/web/v1/google?format=xml&start=200&count=30&appid=받은 API key
기본적으로 Yahoo! BOSS API는 50개의 검색 결과를 제공한다.
하지만 시작 순위를 바꾸면 다른 순위에 접근이 가능하고, 하루에 할 수 있는 질의의 제한도 없으므로
프로그램을 짜기에 따라서 한번에 많은 순위정보들을 가지고 올 수 있다.
2009-04-18
검색 엔진 API - Yahoo! BOSS API (상)
한때 '저걸 어떻게 구현하나' 하고 막연하게 생각했던 웹 검색 API는
막상 그 어려운 과정을 통해 사용해 보고 나니 오히려 간단한 편이다.
자료는 잘 구성되어 넘어오니 난 그저 받아서 사용하는 걸 잘 하면 되니 말이다.
하지만 그렇게 하기까지가 무척이나 고통스러웠던 것도 사실이다. 몰라서...^^
국내 검색 엔진들도 API 지원을 다양하게 하고 있지만
내가 하고 있는 연구는 영어 계통의 자료를 원하는지라... 여기서는 생략...
대체로 몇년 전까지만 하더라도 Google API를 사용하는 게 대세였던 것 같다.
하지만 지금 Google은 JSON 방식으로 바꾸어 자료를 제공하기 때문에
예전처럼 httpwebrequest로 요청해서 XML 형식의 자료를 얻어내기 어렵다.
나는 Yahoo! API를 이용하는데, 속도도 괜찮고 다양한 자료를 지원한다.
원래의 Yahoo! 웹 검색 API는 하루에 5,000건으로 질의가 제한되어 있었는데
Yahoo! BOSS API는 이러한 문제점을 해결시켜 주고 있다.
해당 페이지 : http://developer.yahoo.com/search/boss/
사용 절차는 페이지에 설명되어 있듯 일단 Application ID를 받아야 한다.
그러기 위해서는 Yahoo 회원 가입이 필요하다.
그러고 나면 개발자 등록 (Developer registration)창이 나오는데, 잘 기록해 주고 다음으로 넘어가 준다.
그러면 프로그래밍에 사용할 수 있는 아주 길고 난해한 코드인 Application ID를 발급받을 수 있다.
다음은 사용 방법을 설명해 놓은 설명서를 읽는 것이다.
documentation이라고 하이라이트되어 있는 부분을 읽어보면 되는데,
여기서 중요한 것은 질의와 응답에 대한 샘플 코드이다.
Yahoo는 httpwebrequest를 지원하기 때문에 질의는 직접 주소창에 써도 작동이 된다.
하지만 응답은 샘플코드를 잘 분석하지 않으면 이용하기 어렵다.
여하튼 XML 형식을 기본으로 자료들을 보내주니 잘 활용하면 되겠다.
막상 그 어려운 과정을 통해 사용해 보고 나니 오히려 간단한 편이다.
자료는 잘 구성되어 넘어오니 난 그저 받아서 사용하는 걸 잘 하면 되니 말이다.
하지만 그렇게 하기까지가 무척이나 고통스러웠던 것도 사실이다. 몰라서...^^
국내 검색 엔진들도 API 지원을 다양하게 하고 있지만
내가 하고 있는 연구는 영어 계통의 자료를 원하는지라... 여기서는 생략...
대체로 몇년 전까지만 하더라도 Google API를 사용하는 게 대세였던 것 같다.
하지만 지금 Google은 JSON 방식으로 바꾸어 자료를 제공하기 때문에
예전처럼 httpwebrequest로 요청해서 XML 형식의 자료를 얻어내기 어렵다.
나는 Yahoo! API를 이용하는데, 속도도 괜찮고 다양한 자료를 지원한다.
원래의 Yahoo! 웹 검색 API는 하루에 5,000건으로 질의가 제한되어 있었는데
Yahoo! BOSS API는 이러한 문제점을 해결시켜 주고 있다.
해당 페이지 : http://developer.yahoo.com/search/boss/
사용 절차는 페이지에 설명되어 있듯 일단 Application ID를 받아야 한다.
그러기 위해서는 Yahoo 회원 가입이 필요하다.
그러고 나면 개발자 등록 (Developer registration)창이 나오는데, 잘 기록해 주고 다음으로 넘어가 준다.
그러면 프로그래밍에 사용할 수 있는 아주 길고 난해한 코드인 Application ID를 발급받을 수 있다.
다음은 사용 방법을 설명해 놓은 설명서를 읽는 것이다.
documentation이라고 하이라이트되어 있는 부분을 읽어보면 되는데,
여기서 중요한 것은 질의와 응답에 대한 샘플 코드이다.
Yahoo는 httpwebrequest를 지원하기 때문에 질의는 직접 주소창에 써도 작동이 된다.
하지만 응답은 샘플코드를 잘 분석하지 않으면 이용하기 어렵다.
여하튼 XML 형식을 기본으로 자료들을 보내주니 잘 활용하면 되겠다.
Subscribe to:
Posts (Atom)