Я хочу использовать команды HTTP GET и POST для извлечения URL-адресов с веб-сайта и анализа HTML. Как это сделать?
Как получить URL-адрес с веб-сайта с помощью Java?
Ответ 1
Вы можете использовать HttpURLConnection в сочетании с URL.
URL url = new URL("http://example.com");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
InputStream stream = connection.getInputStream();
// read the contents using an InputStreamReader
Ответ 2
Самый простой способ сделать GET - использовать встроенный java.net.URL. Однако, как уже упоминалось, httpclient - это правильный способ, так как он позволит вам в числе других обрабатывать перенаправления.
Для разбора html вы можете использовать html parser.
Ответ 3
Отмеченный/одобренный ответ для этого - от robhruska - спасибо. Это показывает самый простой способ сделать это, просто с пониманием того, что необходимо сделать для простого URL-соединения. Тем не менее, долгосрочной стратегией было бы использовать HTTP Client для более продвинутых и многофункциональных способов выполнения этой задачи.
Спасибо всем, здесь быстрый ответ:
URL url = new URL("http://example.com");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
InputStream stream = connection.getInputStream();
// read the contents using an InputStreamReader
Ответ 4
Используйте http://hc.apache.org/httpclient-3.x/
Ответ 5
Я использовал JTidy в проекте, и он работал достаточно хорошо. Список других парсеров здесь, но, кроме того, от JTidy я не знаю никого из них.