Hej, czy moglby ktos przyblizyc dzialanie ponizszego kodu, ktory sluzy do pobierania danych ze stron WWW?

import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.StringReader;
import java.net.MalformedURLException;
import java.net.URL;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;

public class HTTPFetch {

public static String getPageContents(String pageUrl) {
	StringBuffer pageContents = new StringBuffer();
    try {
    	URL url = new URL(pageUrl);
		InputStream in = url.openStream();
		BufferedInputStream bufIn = new BufferedInputStream(in);

        for (;;) {
            int data = bufIn.read();

            if (data == -1)
                break;
            else
                pageContents.append((char) data);
        }
    } catch (MalformedURLException mue) {
        System.err.println ("Invalid URL");
    } catch (IOException ioe) {
        System.err.println ("I/O error: " + ioe);
    }

	return pageContents.toString();
}

public static String getDataText(String pageContents) {

	String keyword = "<h>Last Update</h>";
	int offset = keyword.length() + 6;
	int length = 23;

	String data = null;

	int index = pageContents.indexOf(keyword);
	data = pageContents.substring(index + offset, index + offset + length);

	return data;
}

public static String getDataXML(String pageContents) {
	String data = null;
	try {
		DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
		DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
		Document doc = docBuilder.parse(new InputSource(new StringReader(pageContents)));

		Element element = doc.getElementById("note");
		NodeList nodes = element.getChildNodes();
		data = nodes.item(3).getTextContent();

	} catch (ParserConfigurationException pce) {
		System.err.println ("Parser error: "+ pce);
	} catch (SAXException se) {
        System.err.println ("SAX parser error: " + se);
    } catch (IOException ioe) {
        System.err.println ("I/O error: " + ioe);
    }
	return data;
}

}