2012-02-28 3 views
0

Im на довольно базовом уровне развития android.Получить исходный текст из html

Я хотел бы получить текст с такой страницы, как «http://www.google.com». (Страница, которую я буду использовать, будет иметь только текст, поэтому нет изображений или что-то в этом роде) Итак, чтобы быть ясным: я хочу получить текст, написанный на странице, и т. Д. Строку в моем приложении.

Я пробовал этот код, но я даже не уверен, что он делает то, что я хочу.

URL url = new URL(/*"http://www.google.com"); 
URLConnection connection = url.openConnection(); 
// Get the response  
BufferedReader rd = new BufferedReader(new InputStreamReader(connection.getInputStream())); 
String line = ""; 

Я не могу получить от него какой-либо текст. Как мне это сделать?

+0

Я не понимаю ... вам нужно вызвать rd.readLine() или что-то в этом роде. –

+0

Возможный дубликат [Как получить html-источник страницы из html-ссылки в android?] (Http://stackoverflow.com/questions/2423498/how-to-get-the-html-source-of- а-страницы из-а-HTML-ссылки-в-андроида) – jrummell

ответ

1

Из кода примера, который вы указали, вы даже не читаете ответ от запроса. Я хотел бы получить HTML с помощью следующего кода

URL u = new URL("http://www.google.com"); 
URLConnection conn = u.openConnection(); 
BufferedReader in = new BufferedReader(
         new InputStreamReader(
          conn.getInputStream())); 
StringBuffer buffer = new StringBuffer(); 
String inputLine; 
while ((inputLine = in.readLine()) != null) 
    buffer.append(inputLine); 
in.close(); 
System.out.println(buffer.toString()); 

Оттуда вам нужно будет передать строку в какой-то HTML Parser, если вы хотите только текст. Из того, что я слышал, JTidy будет хорошей библиотекой для этого, однако я никогда не использовал библиотеки Java-анализа gtml.

0

Вот один из способов:

public String scrape(String urlString) throws Exception { 
    URL url = new URL(urlString); 
    URLConnection connection = url.openConnection(); 
    BufferedReader reader = new BufferedReader(new InputStreamReader(
     connection.getInputStream())); 
    String line = null, data = ""; 

    while ((line = reader.readLine()) != null) { 
     data += line + "\n"; 
    } 

    return data; 
} 

Here is another.

1

Вы хотите извлечь текст из HTML-файла? Вы можете использовать специализированный инструмент, такой как библиотека Jericho HTML parser. Я не уверен, что его можно использовать непосредственно в приложении для Android, он довольно большой, но он является открытым исходным кодом, поэтому вы можете использовать его код и использовать только то, что вам нужно для вашей задачи.

Смежные вопросы