获取网页并保存到数据库?

3

我该如何在JAVA中获取HTML页面并将其保存到数据库中?是否有更简单的方法?


可能是如何使用JAVA下载HTML页面?的重复问题。 - McDowell
@McDowell:有什么问题吗?我是 StackOverFlow 的新手。 - Alex Mathew
欢迎来到 Stack Overflow。通过添加可能重复的链接,它允许问题发布者和回答者导航到相关信息,他们可能会发现问题已经得到了解答。如果社区认为问题与另一个问题太相似,它将被关闭为重复。您可以在 Meta 上找到有关该网站如何运作的更多信息:http://meta.stackexchange.com/questions/7931/the-official-faq-for-stack-overflow-server-fault-and-super-user - McDowell
2个回答

2

使用URL类在http上接收文件非常简单:

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

IOUtils源自org.apache.commons.io,toString方法将整个输入流读入一个字符串中。

不幸的是,使用java.net.URL时,除了网站地址外,您无法控制任何内容(如cookies、头信息等) :-/

个人而言,我会在任何可以使用此方法的地方使用它,因为HttpClient的API过于复杂(太多LOC)只是为了获取网站的源代码。


1

不确定您的具体需求。

对于简单的操作,您可以使用 HttpClient

对于更复杂的操作,您可以使用 Nutch。它还可以进行爬取、索引和搜索等功能。


首先感谢回复,我的需求是:如果我在文本框中输入www.yahoo.com,则应将Yahoo首页的整个HTML复制到数据库中,有什么方法可以实现吗? - Alex Mathew
你需要编写一些自己的代码来处理。基本上,你需要从文本框中获取URL并将其传递给HttpClient(或类似的工具)。在成功返回后,你可以使用JPA或者直接使用JDBC将内容存储到数据库中。 - leonm

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接