如何使用JAVA下载HTML页面?

4
我们如何使用JAVA下载HTML页面?

嗨,Binu,以下链接可能会引起您的兴趣。http://stackoverflow.com/questions/2664404/retrieving-a-web-page-including-embedded-objects - James P.
@McDowell,@James P:抱歉,我不知道还有其他人有相同的问题。 - Binu Mathew
@Rupeshit:是的,那个单词是“fetch”... - Binu Mathew
@Binu:别担心。有时候一个问题可以为已有的内容增添一些东西。当你浏览周围时,看看每个问题的相关部分。有时那里的链接值得一读。 - James P.
@James:谢谢,James。下次我会检查这个东西。 - Binu Mathew
显示剩余2条评论
3个回答

10

以下是代码:

public static String savePage(final String URL) throws IOException {
    String line = "", all = "";
    URL myUrl = null;
    BufferedReader in = null;
    try {
        myUrl = new URL(URL);
        in = new BufferedReader(new InputStreamReader(myUrl.openStream()));

        while ((line = in.readLine()) != null) {
            all += line;
        }
    } finally {
        if (in != null) {
            in.close();
        }
    }

    return all;
}

现在你可以在while循环中逐行处理。


我能把这些东西加入我的MySQL吗?我该怎么做? - Binu Mathew
当然可以。您可以从每行构建一些字符串缓冲区并将其放入数据库中。 - Klark
@akshayb - 如果是这样,为什么不将新的首选方式作为评论添加或修改答案本身呢? - Apache

2
如果您有更多的要求,例如身份验证,您可以使用HttpClient

不,我只需要获取页面并将其下载到我的数据库中,至于网页索引。 - Binu Mathew
好的,那么HttpClient可能有些过头了。 - rlovtang
我的意思是,您可能会对SINTER的解决方案感到满意。当然,如果您喜欢,也可以使用HttpClient。 - rlovtang

2
如果您使用可以编译成Java字节码的Groovy,那么您可以像这样获取一个网页:
String text = new URL("http://google.com").text

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