2010-07-28 2 views
3

Как я могу получить HTML-страницу и сохранить ее в моей базе данных в JAVA? Есть ли простой способ сделать это?Получить веб-страницу и сохранить в базе данных?

+0

Возможный дубликат [Как мы можем загрузить HTML-страницу с помощью JAVA ??] (http://stackoverflow.com/questions/3341516/how-we-can-download-a-html-page-using-java) – McDowell

+0

@McDowell: это что-то проблема? Я новичок в StackOverFlow –

+0

добро пожаловать в переполнение стека. Добавляя ссылки на возможные дубликаты, он позволяет плакатам и ответчикам вопросов переходить к связанной информации, где они могут обнаружить, что на этот вопрос уже был дан ответ. Если сообщество считает вопрос слишком похожим на другой вопрос, он будет закрыт как дубликат. Вы можете узнать больше о том, как сайт работает над Meta: http://meta.stackexchange.com/questions/7931/the-official-faq-for-stack-overflow-server-fault-and-super-user – McDowell

ответ

2

Получение файла по протоколу HTTP довольно легко, используя URL класс:

String rawHtml = IOUtils.toString(new URL("http://yahoo.com").openStream()); 

IOUtils берется из org.apache.commons.io, метод ToString считывает входной поток все в одну строку. К сожалению, с помощью java.net.URL вы не можете ничего контролировать (файлы cookie, информацию заголовка ...), кроме адреса веб-сайта: -/ Лично я использую этот подход везде, где могу, поскольку API HttpClient слишком сложный (слишком много LOC), чтобы просто получить исходный код веб-сайта.

1

Не уверен в ваших точных требованиях.

Для чего-то простого можно использовать HttpClient

Для чего-то более сложного, вы можете использовать Nutch Он ползет, индексацию и поиск, а также.

+0

First Upon thks для ответа, то, что мне нужно, если я напечатаю www.yahoo.com в текстовом поле, тогда он должен скопировать весь html индексной страницы yahoo в базу данных, есть ли способ для этого? –

+0

Вам нужно будет написать собственную собственную сантехнику. В основном вы получите URL-адрес из текстового поля и передаете его HttpClient (или что-то подобное). После успешного возвращения вы храните содержимое в базу данных, возможно, с JPA или прямым JDBC. – leonm

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