我尝试使用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/