Как получить данные из URL-адреса?


У меня есть данные, представленные на веб-сайте, и они представлены следующим образом:

Введите описание изображения здесь

Этот сайт предлагает значения некоторых параметров, которые обновляются каждый раз. Теперь я хочу получить эти данные в соответствии с именем столбца и номером строки в Android-приложении, я знаю, как открыть http-соединение. Но, к сожалению, я понятия не имею, с чего начать и как читать данные, представленные на изображении.

3 5

3 ответа:

Если у вас нет специального источника данных для работы, вы должны прочитать содержимое веб-сайта, а затем обработать его вручную. Вот ссылка из Java tutorials о том, как читать из URL-соединения.

import java.net.*;
import java.io.*;

public class URLConnectionReader {
    public static void main(String[] args) throws Exception {
        URL oracle = new URL("http://www.oracle.com/");
        URLConnection yc = oracle.openConnection();
        BufferedReader in = new BufferedReader(new InputStreamReader(
                                yc.getInputStream()));
        String inputLine;
        while ((inputLine = in.readLine()) != null) 
            System.out.println(inputLine);
        in.close();
    }
}

Правка:

Если вы находитесь за прокси-сервером, вы также должны установить следующие системные свойства (соответствующие значения):

System.setProperty("http.proxyHost", "3.182.12.1");
System.setProperty("http.proxyPort", "1111");

Вы должны разобрать все содержимое. Не могли бы вы вызвать веб-сервис, чтобы получить эти данные, или непосредственно базу данных, которая принадлежит этому представлению?

Если данные являются только открытым текстом и формат таблицы не изменяется, вы можете проанализировать всю таблицу, например, после чтения" - - - - - - -..."Строка вы можете проанализировать значения с помощью сканера:

 Scanner s;
 while ((inputLine = in.readLine()) != null)
 {
   s = new Scanner(input).useDelimiter(" ");
   //Then readthe Values like
   value = s.next()); // add all values in a list or array       
 } 
 s.close();