Как извлечь HTML в Java

голоса
23

Без использования каких-либо внешних библиотек, что самый простой способ извлечения содержимого веб-сайта HTML в строку?

Задан 28/08/2008 в 02:20
источник пользователем
На других языках...                            


5 ответов

голоса
32

В настоящее время я использую это:

String content = null;
URLConnection connection = null;
try {
  connection =  new URL("http://www.google.com").openConnection();
  Scanner scanner = new Scanner(connection.getInputStream());
  scanner.useDelimiter("\\Z");
  content = scanner.next();
}catch ( Exception ex ) {
    ex.printStackTrace();
}
System.out.println(content);

Но не уверен, что есть лучший путь.

Ответил 28/08/2008 d 02:21
источник пользователем

голоса
20

Это хорошо работает для меня:

URL url = new URL(theURL);
InputStream is = url.openStream();
int ptr = 0;
StringBuffer buffer = new StringBuffer();
while ((ptr = is.read()) != -1) {
    buffer.append((char)ptr);
}

Не уверен в ли какие-либо более эффективным или нет другого решения (s) при условии.

Ответил 29/08/2008 d 06:11
источник пользователем

голоса
2

Хотя не ванильный-Java, я возносить более простое решение. Используйте Groovy ;-)

String siteContent = new URL("http://www.google.com").text
Ответил 05/03/2013 d 10:16
источник пользователем

голоса
2

Я только что покинул этот пост в своем другом потоке , хотя то , что у вас есть выше , могут работать. Я не думаю , что либо будет легче , чем другие. Пакеты Apache можно получить только с помощью import org.apache.commons.HttpClientв верхней части вашего кода.

Edit: Забыл ссылку;)

Ответил 28/08/2008 d 02:31
источник пользователем

голоса
0

Это не библиотека, а инструмент с именем локон обычно устанавливается в большинстве серверов или вы можете легко установить в Ubuntu с помощью

sudo apt install curl

Затем извлечь любую HTML страницу и сохранить его в локальный файл как пример

curl https://www.facebook.com/ > fb.html

Вы получите домашнюю страницу html.You может запустить его в вашем браузере, а также.

Ответил 14/07/2018 d 10:57
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more