Ich bin auf der Suche nach Echtzeit-Raten von dieser Webseite: http://www.truefx.com/ in meine Java-Programme, dh ich möchte die Daten von der Webseite, die Sekunde für Sekunde aktualisiert wird ständig gestreamt werden in mein Programm.Parsing einer Webseite mit Java
Ich würde dies gerne mit den Standard-Java-Bibliotheken tun, wenn möglich. Ich kenne Plugins wie jsoup und möglicherweise auch andere, aber ich möchte die Plugins nicht herunterladen und installieren müssen, da der Computer, den ich benutze, in Kalifornien basiert und alles andere als ein paar Kernprogramme, Eclipse in Betrieb ist von ihnen, wird jede Nacht gelöscht, wenn das System neu startet.
Wenn also jemand von einem Paket im Standard-Eclipse-Download weiß, dass dies tun kann, lass es mich wissen! danke
ok so habe ich das funktioniert, aber es scheint sehr langsam. Zum Beispiel ändern sich die Daten Sekunde für Sekunde, und obwohl ich die Webseite, die ich gelesen habe, auch von Sekunde zu Sekunde aktualisiere (ich habe thread.sleep (1000) benutzt), und dann eine neue Instanz bekommen von der Webseite wird es nur einmal jede Minute aktualisiert. was gibt?
hier ist, was mein Code wie folgt aussieht (i verwendet, was Sie oben als meine url Leser geschrieben):
public String getPage(String urlString){
String result = "";
//Access the page
try {
// Create a URL for the desired page
URL url = new URL(urlString);
// Read all the text returned by the server
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String str;
while ((str = in.readLine()) != null) {
// str is one line of text; readLine() strips the newline character(s)
result += str;
}
in.close();
} catch (MalformedURLException e) {
} catch (IOException e) {
}
return result;
}
public static void main(String[]args){
int i =0;
Reading r = new Reading();
while(true){
try{Thread.sleep(1000);}catch(Exception e){}
String page = new String(r.getPage("http://www.fxstreet.com/rates-charts/forex-rates/"));
int index = page.indexOf("last_3212166");
//System.out.println(i+page);
i++;
System.out.println(i+"GBP/USD: "+page.substring(index+14,index+20));
}
Die Java-Standardbibliotheken verfügen über keine HTML-Analysefunktionen. Hast du dich überhaupt selbst in diese Sache hineinversetzt? Scheint so, als hätte ein schneller Google das auf den Kopf gestellt. Außerdem, wenn alles nachts gelöscht wird, wie behältst du deinen Quellcode? Edit: Eigentlich sieht es so aus, als hätte Java einige eingebaute Sachen: http://en.wikipedia.org/wiki/Java_API_for_XML_Processing – Corbin
danke. Ich habe mich ein wenig umgeschaut, hätte aber wahrscheinlich ein wenig mehr suchen können, bevor ich gefragt habe. – russell88
Nun, es ist nicht wirklich, dass die Dinge gelöscht werden, sondern mehr damit, dass der Klassenpfad zurückgesetzt wird, oder so. Ich verstehe nicht vollständig, wie das System eingerichtet ist, ich weiß nur, dass Sie den Klassenpfad nicht dauerhaft ändern können. – russell88