我期待着从维基百科转储中提取维基百科信息框,并准备一个带有标签的 xml 文件作为 Java 中的键值对。
我已经使用 reg ex 和 stack 成功提取了信息框。但是,内容具有维基百科标记。您能否建议我应该如何将维基百科格式化为干净的文本并存储为键值对?显然,对所有标记删除进行编码是一项艰巨的任务,需要为 java 寻找任何外部 API。
我期待着从维基百科转储中提取维基百科信息框,并准备一个带有标签的 xml 文件作为 Java 中的键值对。
我已经使用 reg ex 和 stack 成功提取了信息框。但是,内容具有维基百科标记。您能否建议我应该如何将维基百科格式化为干净的文本并存储为键值对?显然,对所有标记删除进行编码是一项艰巨的任务,需要为 java 寻找任何外部 API。
您可以下载wikixmlj并使用以下代码提取信息框:
import edu.jhu.nlp.wikipedia.*;
public class InfoboxParser {
public static void main(String[] args) throws Exception{
WikiXMLParser parser = WikiXMLParserFactory.getSAXParser("/path_to_wiki_dump/enwiki-20131202-pages-articles-multistream.xml.bz2.xml");
parser.setPageCallback(new PageCallbackHandler() {
public void process(WikiPage page) {
InfoBox infobox=page.getInfoBox();
//do something with info box
}
});
parser.parse();
}
}
永远不要在任何情况下都用正则表达式解析 XML。