我尝试使用Java或Python保存整个页面,也尝试使用硒和wget。
最后,我选择了HtmlUnit,因为可以通过使用save()轻松实现它。

我的页面被截断了,中文字符显示为“?”。
有什么办法可以改变编码?还是有其他工具可以保存整个页面?

我的代码:

    WebClient webClient = new WebClient();
    webClient.getOptions().setUseInsecureSSL(true);

    try {
        HtmlPage htmlPage = webClient.getPage("http://www.fulijr.com/");
        File file = new File("fulijr.html");
        htmlPage.save(file);
    } catch (IOException e) {
        e.printStackTrace();
    }


结果:

<?xml version="1.0" encoding="UTF-8"?>
<html>
    <head>
        <meta charset="utf-8"/>
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
        <meta http-equiv="Content-type" content="text/html;charset=utf-8"/>
        <meta name="keywords" content="????,????????,??????P2P????"/>
        <meta name="description" content="??????????P2P???????????????????????????????????????????????????????????????????????????????????P2P???????????????????????????????????????????????????????????????????????????"/>
        ...

最佳答案

这是当前版本的HtmlUnit(2.33版)中的错误。已解决此问题;将在https://twitter.com/HtmlUnit上通知是否有新的快照版本可用。

关于java - 使用HtmlUnit保存完整页面时文本被截断,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53444689/

10-12 05:23