A
AlexM
Gast
Hallo zusammen,
ich habe ein Programm geschriebeen (s. u.), welches zwar läuft, aber nicht nach meinen Vorstellungen. Mit URLStart mache ich eine Abfrage auf immobilienscout24. Die Abfrage funktioniert. Als Ergebnis erhalte ich eine Seite mit Links zu Häuser-Details direkt (pager=0) und Links zu weiteren Seiten (pager=1,2,...,n) mit Häuser-Details. Eine der weiteren Seite (pager=1,2,...,n) möchte ich aufrufen und die Details anzeigen. Dazu bastel ich mir den Link zu einer der Seiten zusammen (URLNeu) und rufe ihn auf. Statt die Seite mit den Details anzuzeigen, kommt die Meldung, daß die Seite nicht angezeigt werden kann.
Kann mir jemand sagen, wie ich die weiteren Seiten richtig aufrufe?
Danke für Eure Hilf!
Alex
ich habe ein Programm geschriebeen (s. u.), welches zwar läuft, aber nicht nach meinen Vorstellungen. Mit URLStart mache ich eine Abfrage auf immobilienscout24. Die Abfrage funktioniert. Als Ergebnis erhalte ich eine Seite mit Links zu Häuser-Details direkt (pager=0) und Links zu weiteren Seiten (pager=1,2,...,n) mit Häuser-Details. Eine der weiteren Seite (pager=1,2,...,n) möchte ich aufrufen und die Details anzeigen. Dazu bastel ich mir den Link zu einer der Seiten zusammen (URLNeu) und rufe ihn auf. Statt die Seite mit den Details anzuzeigen, kommt die Meldung, daß die Seite nicht angezeigt werden kann.
Kann mir jemand sagen, wie ich die weiteren Seiten richtig aufrufe?
Danke für Eure Hilf!
Alex
Code:
import java.net.*;
import java.io.*;
class OpenStreamTest {
private static String URLStart, URLNeu, URLNeu1;
private static String inputLine;
private static int i;
private static DataInputStream dis;
public static void main(String args[]) {
try {
//URLStart ist der Start-Link
URLStart = "http://www.immobilienscout24.de//Suche/Haus-Kauf/Rheinland-Pfalz/Mainz-Bingen-Kreis/Stadecken-Elsheim;jsessionid=F2AB338326DF7F22E41CACA8648D6CFC.worker2";
URL ImmoRPL = new URL(URLStart);
dis = new DataInputStream(ImmoRPL.openStream());
System.out.println("Hier kommen die Links der Seiten:");
while ((inputLine = dis.readLine()) != null) {
//Das Ergebnis der Abfrage von URLStart ergibt Links zu den Immobilienseiten (pages)
if (inputLine.startsWith("<a href=") && inputLine.matches(".*pager=.*")) {
System.out.println(inputLine);
//Der Link zu der letzten Immobilienseite wird zu dem neuen Link
//URLNeu zusammengebastelt
//Unelegant aber pragmatisch
i = inputLine.lastIndexOf("pagerAction=go");
URLNeu = "http://www.immobilienscout24.de" + inputLine.substring(9 , i+14);
}
}
System.out.println();
System.out.println("Neue URL zur Immobilienseite: " + URLNeu);
System.out.println();
URLNeu1 = URLNeu;
//Wird URLNeu1 = URLStart gesetzt, werden die Immobiliendetails (pager=0) richtig angezeigt
//URLNeu1 = URLStart
ImmoRPL = new URL(URLNeu1 );
dis = new DataInputStream(ImmoRPL.openStream());
while ((inputLine = dis.readLine()) != null) {
if (inputLine.matches(".*Details.*")) {
//Hier sollten die Details der letzten Immobilienseite angezeigt werden
//Statt dessen scheint der URLNeu nicht mehr zu funktionieren
System.out.println(inputLine);
}
}
dis.close();
} catch (MalformedURLException me) {
System.out.println("MalformedURLException: " + me);
} catch (IOException ioe) {
System.out.println("IOException: " + ioe);
}
}
}