YQL을 이용해 웹사이트 스크랩 위젯 만들기

November 19th, 2009 No comments

오늘은 YQL을 이용해 간단한 웹사이트 스크랩 위젯을 만들어 보겠습니다.

지금부터 하려고 하는 것은 몇줄 정도의 Javascript만 사용해서
Web site의 일부분을 위젯(또는 내 사이트)에 넣는 것입니다.

여러분이 컨텐츠 목록을 포함한 Web site를 가지고 있고,
다른 Web site에 집어 넣을 수 있도록 위젯으로 만들려고 한다고 가정해 보겠습니다.

예를 들면, 아래의 화면은 “야후!코리아”에서 제공하는 실시간 뉴스 속보 화면입니다.
여러분들이 하고자 하는 것을 하기 위한 첫 번째 일은
직접 소스코드를 검토하거나 파이어폭스의 Firebug를 이용해서
HTML데이터가 속한 부분의 구조를 파악하는 것이죠.

야후!코리아 - Example of YQL with HTML data source

아래에서와 같이 Firebug상에서 마우스 우측버튼을 클릭하면
가지고 오고자 하는 부분의 XPATH 경로를 얻을 수 있습니다.
나중에 필요하겠지만 이 경우 xpath는
/html/body/div/div[2]/div/div/div[2]/div[2]/dl
또는 //*[@id="na2"]/dl 입니다.

요소검사

Xpath 복사

다음 단계는 YQL console로 가서
다음과 같이 Query를 작성 하는 것입니다.

Select * From html Where url=’http://kr.news.yahoo.com/service/news/shelllist.htm?linkid=4&newssetid=1352′ and xpath=’//*[@id="na2"]/dl’

위 Query는 다음과 같은 문법을 따릅니다.

Select * from html where url=’{url}’ and xpath=’{xpath}’

이렇게 하면 YQL은 해당 URL의 content를 가져와
XML과 같은 형식으로 전달해 줍니다.

다음 단계는 출력 형식을 JSON으로 정의 하고,
proc_news라는 이름으로 callback함수를 정의 한 뒤,
TEST버튼을 누르고 결과를 확인 하고
REST Query를 복사하는 것입니다.

Yahoo! Query Language 1

사Yahoo! Query Language 2

YQL에서 여러분들이 해야 할 일은 사실 여기까지 입니다.

이제부터 여러분들은 Javascript-readable object로서
HTML을 이용할 수 있게 된 것이므로, JSON에서 호출될
callback 함수(proc_news)를 정의하고
YQL로부터 얻은 REST URL을 새로운 SCRIPT 노드의 SRC로 지정하는 것이죠.

<script>
function proc_news(o){
}
</script>  
<script src=”http://query.yahooapis.com/v1/public/yql?q=Select%20*%20from%20html%20where%20url%3D’http%3A%2F%2Fkr.news.yahoo.com%2Fservice%2Fnews%2Fshelllist.htm%3Flinkid%3D4%26newssetid%3D1352′%20and%20xpath%3D’%2Fhtml%2Fbody%2Fdiv%2Fdiv%5B2%5D%2Fdiv%2Fdiv%2Fdiv%5B2%5D%2Fdiv%5B2%5D%2Fdl’&format=json&callback=proc_news “>
</script>

위 function은 console에서 보았던 것과 동일한 데이터를 파라미터 “o”를 통해 사용할 수 있게 합니다.
따라서 필요한 데이터에 접근하는 것은 o.query.results.dl과 같이 정말 쉽게 할 수 있습니다.
이번 예제에서의 결과 object는 다음과 같은 구조입니다.

Object 구초

이제 남은 기능적인 부분들은 평이하고 쉬운 DOM scripting이므로
주석 문들을 참고하세요.

[소스코드] yql_htmlsource.zip

YQL_Widget_Demo

이제 여러분들은 약간의 스타일변경으로 “야후!코리아(어느 사이트든)”가 제공하는
실시간 뉴스 속보를 위젯으로 만들수 있게되었습니다. 야호!

모든 HTML구조 및 CSS등을 확인하려면 DEMO 페이지의 소스코드를 확인 하세요.

야후 개발자 네트워크 손경성

Categories: 강좌, 개발 도구 Tags:
  1. No comments yet.
  1. No trackbacks yet.

개발자를 위한 검색 광고 이야기 1부

November 11th, 2009 No comments

우리는 정보의 바다 인터넷에서 검색을 통해 원하는 정보를 찾습니다.
여기에서 피할 수 없는게 검색광고입니다.
말 그대로 검색과 광고의 만남입니다.

인터넷 검색창에 키워드를 입력받아 보여주는 키워드 검색 광고는
검색 사이트마다 여러가지 종류가 있지만
크게보면 두가지 방식으로 나눠볼 수 있습니다.

▪ CPC (Cost Per Click): 노출 횟수와 상관없이 클릭당 광고비를 과금하는 종량제 방식.
▪ CPM (Cost Per Mille): 1,000회 노출되었을때를 기준으로 광고 단가를 책정.
(Mille은 라틴어로 1천을 뜻한다. CPT (Cost Per Thousand) 방식이라고도 한다.)

[표] CPC 와 CPM 비교

CPC CPM
광 고 비 - 클릭 횟수 기준 (클릭당 과금) - 노출 횟수 기준 (1,000회당)
광고기간 광고주 자율 - 계약 기간 내
광고노출 실시간 입찰 및 광고 품질에 따른
순위 노출
지정된 노출 위치를 계약
장점 - 자율적으로 광고 노출 기간 조절 가능
- 최소 비용으로 광고품질을 높이는 효과적인 광고 분석 가능
- 노출 횟수에 따른 비용 발생 없음
- 다양한 키워드 사용에 따른 비용
- 특정 기간의 광고 보장
- 편리한 관리
- 상위 노출시 클릭수 증가 (클릭에 따른 비용 없음)
단점 이슈 발생시 클릭 증가 위험
- 입찰가 상승 우려
- 부정 클릭의 위험
- 광고효과와 상관없이 계약기간 노출
- 위치 선점에 따른 경쟁 치열
- 키워드 수에 따라 비용 증가

키워드 검색 광고는 불특정 다수에게 광고를 노출시키는 것이 아니라,
광고주가 원하는 키워드로 검색했을 때에만 광고를 보여줌으로써
광고주의 서비스를 이용할 가능성이 높은 잠재 고객에게만 광고를 보여주는
타겟화된 광고 기법입니다.

즉, 특정 검색어에 대한 검색 결과에만 노출되는 광고로서,
기존의 배너광고가 클릭률이 낮은 반면, 관심있는 네티즌에게만 노출됨으로써
클릭률이 높고, 저렴한 비용으로 광고를 할 수 있으며,
전문 포털 사이트를 통한 마켓 선점 효과, 다양한 활용성 등으로 인해
소액 광고주들에게 효율적이라는 평가를 받고 있습니다.

최근에는 키워드 검색 광고가 아닌 일반 사이트 등록만으로는
검색 결과에서 상위에 노출되기가 어렵습니다.
검색엔진에서는 첫 페이지 상위에 노출되는 것이 절대적으로 중요하다는 점과
쇼핑몰에서 검색엔진으로부터 유입된 고객의 비중이 가장 크다는 점을 감안하면
키워드 검색 광고는 필수 마케팅 트랜드로 볼 수 있습니다.

오버추어 소개.

‘오버추어(Overture)’는 영어로 음악의 서곡 (Prelude)이라는 의미뿐만 아니라
제안(Proposal), 소개(Introduction) 등으로 해석됩니다.
오버추어의 비즈니스 모델과 서비스는 인터넷 상의 수 많은 소개와 제안을 가능하게 합니다.

1997년 9월 Idealab에 의해 GoTo.com으로 시작한 오버추어는
포털사이트에 기업의 유려 검색 리스트를 제공하는 새로운 비지니스 모델인
‘스폰서검색(Sponsored Search)’를 개발하였습니다.

특히, 클릭당 광고비를 지불하는 CPC 방식을 채탁함으로서
효율적인 온라인 마케팅의 서막을 열었습니다.

현재 전세계 IT 주요 국가에 진출한 오버추어는 100,000개 이상의 글로벌 기업에
서비스를 제공하고 있습니다.
또한 2003년 Yahoo!와 합병 이후 한국이외의 국가에서는 더욱 효과적인 마케팅 솔루션 제공을 위해
‘야후! 서치 마케팅(Yahoo! Search Marketing)’이란 브랜드로 활동하고 있습니다.

검색 광고에 대한 간략한 소개를 드렸습니다.

다음에는 Yahoo! Search Marketing에서 제공하는 Open APIs를 이용한
유용한 사이트 구축에 대해서 소개해 드릴까 합니다.

이에 앞서 간략히 소개해 드리면, 스폰서 검색의 계정 등록 및 관리 시스템에서 제공하는
대부분의 서비스를 처음부터 끝까지 새로 개발할 수 있을 정도로 다양한 APIs를 제공하고 있습니다.

외국의 경우를 보면, Yahoo! Open APIs를 이용하여 솔루션을 개발하여
대행사나 광고주에게 판매하는 업체가 많습니다.
우리나라와 비교하여 특이한 점은 광고 성과 분석에 대한 것들이 많습니다.

한국의 대행사에서 개발하여 서비스하는 것으로는 주로 스폰서 검색의 계정관리 시스템에서
제공하지 않고 있는 부가적인 기능을 추가한 것들이 많습니다.
예를들어, 요일별, 시간대별로 스폰서 검색을 On/Off 시켜주는 스케줄러나 bid가를 조정하여
순위를 맞추어 주는 서비스 등이 있습니다.

대행사에서 주로 활용하는 기능 외에, 개인적으로 한때 오픈 소스를 이용한 검색엔진 개발에
재미를 붙였었는데 이때 가장 고민이 되는 부분중에 하나가 분석기였습니다.

특히나 한글의 경우는 공개된 분석기가 거의 없어서 직접 개발해야 것들이 많은데
여기에 유용하게 이용할 수 있는 것 중에 하나가 지정한 URL에서 정보를 크롤하여
해당 사이트의 검색어들을 추출하는 서비스 등도 있습니다.

developer.searchmarketing.yahoo.com

http://developer.searchmarketing.yahoo.com/

Yahoo! Search Marketing Engineering
전희식

Categories: 행사 Tags: , , , , , ,
  1. No comments yet.
  1. No trackbacks yet.