【发布时间】:2018-11-23 10:13:33
【问题描述】:
我尝试使用 Java 或 Python 保存整个页面,并且我也尝试过 selenium 和 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???????????????????????????????????????????????????????????????????????????"/>
...
【问题讨论】:
-
你必须做这样的事情(比如在 Fetch 类中):stackoverflow.com/a/44493023/4392611 并且在保存读取编码声明之前,否则没有意义。
标签: java python web-crawler