View Full Version : [JAVA] Estrapolare il codice HTML di una pagina passata e estrarre info dal codice
Avrei bisogno di una mano per fare un programma che deve autoaggiornarsi tramite le info di una pagina web che gli passo.
Per evitare problemi vari ho pensato di prendere queste info direttamente dal codice html (tra l'altro sono ben identificabili).
Quello che mi manca è però come fare per:
data una una pagina web --> restituisci il codice html come fosse un file txt
Qualcuno riesce ad aiutarmi? :help: :help:
nerthase
16-03-2010, 22:10
Ciao, non so se hai confidenza con Java, soprattutto per quanto riguarda i package di java.net. Comunque ti scrivo un semplice esempio di codice per scaricare una pagina html specificata:
// Apro la connessione impostando alcuni parametri
URL u = new URL("http://www.nerthase.com");
HttpURLConnection huc = (HttpURLConnection) u.openConnection();
BufferedReader br = new BufferedReader(new InputStreamReader(huc.getInputStream()));
// Leggo la pagina di riposta
String pagina = "";
String tmp;
while ((tmp = br.readLine()) != null) pagina += tmp;
br.close();
Dopo l'esecuzione di questo pezzo di codice, nella stringa pagina avrai memorizzato il codice html dell'URL specificato inizialmente.
Senza dilungarmi troppo in questo post, ti consiglio l'uso di espressioni regolari (http://www.nerthase.com/blog/java-espressioni-regolari) per catturare la porzione di pagina che ti interessa. Puoi trovare qualche mio esempio qui:
http://www.nerthase.com/blog/java-espressioni-regolari
Dimmi se qualcosa non è chiaro.
A presto
ammazz...tutto il codice html in una stringa?:mbe:
Usa Scanner, BufferedReader fa tanto "amarcord".
InputStream in = url.openStream();
String pagina = new Scanner(in).useDelimiter("\\Z").next();
nerthase
17-03-2010, 16:29
ammazz...tutto il codice html in una stringa?:mbe:
Ciao, non credo ci siano problemi a memorizzare un codice HTML in una stringa... io l'ho sempre fatto e non ho mai avuto problemi...
Se hai dei problemi, possiamo cercare di risolverli. Ricorda, che le classi per le espressioni regolari che ti ho linkato, lavorano proprio sulle stringe. Quindi è il metodo più veloce per realizzare quello che hai in mente.
A presto
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.