Przeszukiwanie i odczytywanie wartości z pliku HTML

0

Cześć,
mam za zadanie napisanie aplikacji, odczytującej kilka wartości dotyczących pogody z wybranej przeze mnie strony. Wybrałem stronę www.twojapogoda.pl z kilku względów i wziąłem się za odczyt danych na czym utknąłem. Chciałbym na początku odczytać wartość ciśnienia (bo wydało mi się to najprostsze)
Oto kod HTML do odczytania:

<div class="value">1016 hPa</div>

A oto mój kod programu:

package lab06_pop;
import java.io.BufferedReader;  
import java.io.IOException;  
import java.io.InputStreamReader;  
import java.net.MalformedURLException;  
import java.net.URL;
import java.util.regex.Matcher;  
import java.util.regex.Pattern;  
  
public class WyrazeniaRegularne  
{  
    public static void main(String[] args) throws MalformedURLException, IOException  
    { 
        URL url = new URL("http://www.twojapogoda.pl/polska/dolnoslaskie/polkowice");  
        BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));  
          
        StringBuilder buff = new StringBuilder();  
          
        String line;  
        while((line = in.readLine())!=null)  
        {  
            buff.append(line);  
            buff.append("\n");  
        }  
        String str = buff.toString();  
          
        in.close();
        
        Pattern pattCisnienie = Pattern.compile("<td class=\"value\">([0-9]{1,3}) \"hPa\"</div>");  
        Matcher matchCisnienie = pattCisnienie.matcher(str);  
          
        while(matchCisnienie.find())  
        {  
            System.out.println(matchCisnienie);  
        }  
    }  
}
  1. Oczywiście kod nie działa poprawnie, nie odczytuje wartości, co robię źle?
  2. Czy odczytywanie za pomocą wyrażeń regularnych to dobra metoda? Nie mogę używać gotowych parserów HTML, ale myślałem także, nad Scanner'em.
    Muszę odczytać następujące linijki:
<strong>2</strong><sup>&deg;C</sup><br/>
<div class="value">1016 hPa</div>
<div class="value">0 mm / 12 h</div>

Z góry dziękuję za odpowiedź i pozdrawiam :)

0

Pomoże ktoś?

1

stringtokenizer to chyba to czego szukasz :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1