2010-08-11 16 views
0

我想在播放器中顯示歌曲的歌詞。我曾經使用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訪問它?

+0

有人可能會說「lyricsplugin.com」不允許屏幕抓取! ;-) – scunliffe 2010-08-11 12:17:14

+0

@scunliffe沒有服務條款或任何類型的廣告,所以我們只能假設;) – 2010-08-11 12:26:30

+0

Java有一個內置的JavaScript引擎? – Powerlord 2010-08-11 15:20:34

回答

0

最簡單的是SWT Browser component。只需撥打setURL(String)即可顯示網頁。這給你一個完整的瀏覽器,使用Javascript和一切。

+0

謝謝,但我正在使用Swing。 – 2010-08-11 15:11:34

相關問題