Frage

Ich versuche, eine Art von WebService auf Google Apps zu bauen.

Das Problem ist jetzt, muss ich Daten von einer Webseite (HTML Scraping) erhalten.

Die Anforderung sieht aus wie:

URL url = new URL(p_url);
con = (HttpURLConnection) url.openConnection();
InputStreamReader in = new InputStreamReader(con.getInputStream());
BufferedReader reader = new BufferedReader(in);

        String result = "";
        String line = "";
        while((line = reader.readLine()) != null)
        {
            System.out.println(line);
        }
        return result;

Jetzt App Engine gibt mir die follwing Ausnahme in der 3. Zeile:

com.google.appengine.api.urlfetch.ResponseTooLargeException

Dies ist, weil die maximale Anforderungsgrenze bei 1 MB ist und die gesamte HTML von der Seite ist etwa 1,5 MB.

Jetzt meine Frage: Ich brauche nur die ersten 20 Zeilen des HTML zu schaben. Gibt es eine Möglichkeit, nur einen Teil des HTML zu erhalten, so dass die ResponseTooLargeException nicht geworfen wird?

Vielen Dank im Voraus!

War es hilfreich?

Lösung

Das Problem mit dem niedrigen Pegeln URLFetch api verwendet wird.

Und die Einstellung der allowtruncate Option auf true;

scroll top