我正在尝试使用锅炉管 http://code.google.com/p/boilerpipe/java 库,用于从一组网站中提取新闻文章。
它非常适合英文文本,但对于带有特殊字符的文本,例如带有重音符号的单词 (história),无法正确提取这些特殊字符。我认为这是一个编码问题。
在boilerpipe常见问题解答中,它说“如果您提取非英语文本,您可能需要更改一些参数”,然后引用paper http://www.l3s.de/~kohlschuetter/publications/wsdm187-kohlschuetter.pdf。我在这篇论文中没有找到解决方案。
我的问题是,使用锅炉管道时是否有任何参数可以指定编码?有什么办法可以绕过并正确获取文本吗?
我如何使用图书馆:
(根据 URL 进行第一次尝试):
URL url = new URL(link);
String article = ArticleExtractor.INSTANCE.getText(url);
(第二个关于HTML源代码)
String article = ArticleExtractor.INSTANCE.getText(html_page_as_string);
您不必修改内部Boilerpipe
类。
只要通过InputSource
反对ArticleExtractor.INSTANCE.getText()
方法并对该对象强制编码。例如:
URL url = new URL("http://some-page-with-utf8-encodeing.tld");
InputSource is = new InputSource();
is.setEncoding("UTF-8");
is.setByteStream(url.openStream());
String text = ArticleExtractor.INSTANCE.getText(is);
Regards!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)