我正在用Java抓取 Wikipedia 页面,以便提取信息框中包含的信息。
一切正常,除了字符编码。维基百科页面使用“UTF-8”编码。
Ubuntu eclipse 控制台也使用“ UTF-8”作为默认编码。但是,Eclipse 控制台在显示抓取的信息时会显示一些奇怪的符号。(例如:Smith · Ricardo
代替Smith · Ricardo
)
这是我用来读取数据的函数(它遍历一个节点的所有后代并在最后加入它们的文本信息):
private String getTextContent(Node node) {
String text = "";
List<Node> children = null;
if (isTextNode(node)) {
return node.getNodeValue();
}
else if (!node.hasChildNodes()) {
return "";
}
else {
children = toList(node.getChildNodes());
for (Node childNode : children) {
text += getTextContent(childNode);
}
}
return text;
}
我忘了提到我正在使用JTidy库进行抓取。