从Wikipedia XML转储中提取表

时间:2012-10-31 19:21:11

标签: java xml-parsing extract wikipedia large-data

我想解析XML Wikipedia转储并从中提取所有不同类型的表(不仅仅是信息框)

我使用wikixmlj来解析转储,但问题是解析维基百科转储中的不同类型的表(拆分单元格表,合并单元格表,带有颜色代码的表)。

我能够解析XML文章,直到找到标记为表的项目,但是在将表解析为对象时没有标准可以遵循,并且看起来有许多类型的表具有许多排列。

是否有关于要遵循的表类型的一些文档标准,以便我可以在我要创建的运行时对象中覆盖它,或者有什么方法可以解决这个问题?

注:

这些是帮助您了解我的意思的一些示例:

  

http://en.wikipedia.org/wiki/List_of_Presidents_of_the_United_States   请参阅Andrew Jackson行(某些行已合并并拆分)

     

http://en.wikipedia.org/wiki/List_of_pharaohs

     

http://en.wikipedia.org/wiki/Open_Handset_Alliance

     

http://en.wikipedia.org/wiki/Comparison_of_web_server_software   有时标题位于顶部和底部

1 个答案:

答案 0 :(得分:0)

好的,如果您只对表格本身感兴趣,则需要执行以下操作

1 - 下载维基百科转储(所有转储)

2 - 将转储中的表提取到单独的文件或文件集中: 使用正则表达式\{\|[\s|\S]+?\n\|-?\}

3 - 使用库gwtwiki为转储构建模型,然后将表文件仅转换为html:

-add this classthis class到项目

- 添加gwtwiki和其他人的必要库


您现在拥有html文件,其中包含整个维基百科转储中出现的表格,并且这些表格采用html格式,因此很容易操作 (请注意,如果您想通过代码操作任何文件以将其写入unicode文件,因为表格中某些字符的编码)