2010-08-11 5 views
0

Je veux montrer les paroles des chansons de mon lecteur. J'avais l'habitude d'utiliser lyricsplugin.com parce qu'il avait beaucoup de paroles en anglais et en russe, mais récemment, ils ont changé leur site web d'une page statique à une page ajax-powered. Recherche des paroles suit le modèle suivant:Comment utiliser javas intégré dans le moteur JavaScript pour exécuter un script sur une page Web?

http://www.lyricsplugin.com/winamp03/plugin/?artist=Linkin%20Park&title=Numb

Il montre une page vide et ce corps onload:

javascript:getContent('Linkin%20Park', 'Numb', '1281528101', '5e22e4e3979026a9af59ee16ff82fe1f') 

tout getContent ressemble à ceci:

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() met alors la réponse en div correspondant dans la page.

Donc je suppose que je peux télécharger la page et construire un arbre DOM puisqu'il s'agit de XHTML. Comment puis-je utiliser le moteur rhino intégré pour exécuter le javascript et de préférence remplacer la fonction stateChanged()? Je ne semble pas être en mesure d'appeler directement ce script content.php.

Aucune autre ressource n'a autant de paroles (en particulier en russe) à l'exception de lyrics.wikia.com, mais elles n'autorisent pas le scrappage d'écran.

MISE À JOUR:

lyricsplugin semble utiliser justsomelyrics.com et il y a une boîte de recherche personnalisée Google. Comment puis-je y accéder à partir de Java?

+0

on pourrait argumenter que "lyricsplugin.com" n'autorise pas le grattage d'écran non plus! ;-) – scunliffe

+0

@scunliffe il n'y a pas de conditions de service ou de toute sorte de publicités, donc nous ne pouvons que supposer;) –

+0

Java a un moteur JavaScript intégré? – Powerlord

Répondre

0

Le plus simple est le SWT Browser component. Il suffit d'appeler setURL(String) et il affichera la page Web. Cela vous donne un navigateur complet avec Javascript et tout.

+0

Merci, mais j'utilise Swing. –

Questions connexes