【问题标题】:Extracting tables from Wikipedia XML dump从 Wikipedia XML 转储中提取表
【发布时间】:2012-10-21 09:22:35
【问题描述】:

我想解析 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 有时标题在顶部和底部

【问题讨论】:

  • 这些表格是由不同的人为不同的目的编写的,所以你不能期望那里有太多的一致性。
  • 我认为至少制作 xml 转储的人会知道如何将它们放入许多已定义的表类型中。
  • XML 转储包含与原始页面完全相同的文本,这就是转储的重点。制作它们的人不会浏览数百万页来完成您的预期。

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


【解决方案1】:

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

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

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

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

-将this classthis class添加到项目中

-添加gwtwiki等必要的库


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

【讨论】:

    猜你喜欢
    • 2012-05-29
    • 1970-01-01
    • 2012-02-04
    • 2023-03-04
    • 2020-11-22
    • 2017-06-07
    • 2013-06-14
    • 2019-11-15
    • 2014-11-11
    相关资源
    最近更新 更多