このサンプルは、Yahoo! SQL Languageを利用してYahoo! FinanceのサイトからGoogleに関連するニュース(ヘッドライン)を抽出して表示します。サンプルが表示されたら[Screen Scraping!]ボタンをクリックします。Yahoo! Financeのヘッドラインが抽出されて表示されます。「このサンプルを編集して試してみる」をクリックしたら、symbolの「GOOG」を「YHOO」、「IBM」などに書き換えてみてください。
グーグルのヘッドラインを表示するには、Yahoo! FinanceのURLのクエリ文字列「s=」にグーグルのシンボル「GOOG」を指定します。これで、Yahoo! Financeのヘッドラインにグーグルに関連する情報が表示されます。あとは、SELECT文でHTMLページを取り込んで、XPATHでヘッドラインの部分を抽出します。
http://finance.yahoo.com/q?s=GOOG
var symbol = 'GOOG'; // GOOG-Google, YHOO- Yahoo!, IBM-IBM
var xpath = '//div[@id="yfi_headlines"]/div[2]/ul/li/a';
var url = 'http://query.yahooapis.com/v1/public/yql?callback=?'
var sql = 'select * from html where url="http://finance.yahoo.com/q?
s={symbol}" and xpath=\'{xpath}\'';
var query = sql.replace('{symbol}',symbol).replace('{xpath}', xpath);
var params = {
q: query,
format: 'json'
}
$.getJSON(url, params, function(data) {
if (data.query.count == 0) return;
var html = '';
$.each(data.query.results.a, function(i, item) {
html += template.replace('{href}', item.href).replace('{text}', item.content);
});
$('#placeholder').html(html);
}); // end of getJSON