我想在播放器中顯示歌曲的歌詞。我曾經使用lyricsplugin.com,因爲它有很多英文和俄文歌詞,但最近他們已經把他們的網站從一個靜態頁面改成了一個ajax驅動的頁面。搜索歌詞遵循以下模式:如何使用javas內置的javascript引擎在網頁上運行腳本?
http://www.lyricsplugin.com/winamp03/plugin/?artist=Linkin%20Park&title=Numb
它顯示了一個空白頁,這在身體的onload:
javascript:getContent('Linkin%20Park', 'Numb', '1281528101', '5e22e4e3979026a9af59ee16ff82fe1f')
而getContent
看起來是這樣的:
function getContent(artist, title, time, check) {
xmlHttp = GetXmlHttpObject();
if(xmlHttp == null)
{
return;
}
var url = "content.php?artist=" + artist + "&title=" + title + "&time=" + time + "&check=" + check;
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}
stateChanged()
然後把響應轉換爲頁面中相應的div。
所以我想我可以下載頁面並構建一個DOM樹,因爲它是XHTML。如何使用內置的犀牛引擎來執行javascript,並優先覆蓋stateChanged()
函數?我似乎無法直接調用content.php
腳本。
除了lyrics.wikia.com,沒有其他資源擁有那麼多歌詞(尤其是俄語),但它們不允許屏幕抓取。
UPDATE:
lyricsplugin好像是用justsomelyrics.com並有一個谷歌定製搜索框。我怎樣才能從Java訪問它?
有人可能會說「lyricsplugin.com」不允許屏幕抓取! ;-) – scunliffe 2010-08-11 12:17:14
@scunliffe沒有服務條款或任何類型的廣告,所以我們只能假設;) – 2010-08-11 12:26:30
Java有一個內置的JavaScript引擎? – Powerlord 2010-08-11 15:20:34