使用PHP解析维基词典的XML数据转储到MySQL数据库



好了,我正在尝试解析维基媒体提供的维基词典数据转储。

我的目的是解析XML数据转储到MySQL数据库。我没有找到关于这个XML结构的适当文档。此外,我无法打开文件,因为它实际上非常大(~ 1gb)。

我想用一些PHP脚本解析它,但我对XML结构没有任何想法。因此,如果有人已经使用PHP解析(或有任何工具解析的想法)到MySQL,请分享细节。如果PHP中没有,其他方法也可以。

我只是跟着这个帖子(http://www.igrec.ca/lexicography/installing-a-local-copy-of-wiktionary-mysql/),但它没有工作…如果有人在这个过程中成功了,请提供帮助。

这些文件可以在PHP中解析,XMLReadercompress.bzip2://流上操作。您拥有的文件结构是典型的(窥视到前3000个元素):

-mediawiki (1)
  |-siteinfo (1)
  | |-sitename (1)
  | |-base (1)
  | |-generator (1)
  | |-case (1)
  | -namespaces (1)
  |   -namespace (40)
  -page (196)
    |-title (196)
    |-ns (196)
    |-id (196)
    |-restrictions (2)
    |-revision (196)
    | |-id (196)
    | |-parentid (194)
    | |-timestamp (196)
    | |-contributor (196)
    | | |-username (182)
    | | |-id (182)
    | | -ip (14)
    | |-comment (183)
    | |-text (195)
    | |-sha1 (195)
    | |-model (195)
    | |-format (195)
    | -minor (99)
    -redirect (5)

文件本身稍大一些,因此需要相当长的时间来处理。或者不操作XML转储,而只是通过mysql命令行工具导入SQL转储。网站上也提供SQL转储,请查看所有转储格式的英文维基词典:

  • http://dumps.wikimedia.org/enwiktionary/latest/

整个文件略大,有超过66 849 000个元素:

-mediawiki (1)
  |-siteinfo (1)
  | |-sitename (1)
  | |-base (1)
  | |-generator (1)
  | |-case (1)
  | -namespaces (1)
  |   -namespace (40)
  -page (3993913)
    |-title (3993913)
    |-ns (3993913)
    |-id (3993913)
    |-restrictions (552)
    |-revision (3993913)
    | |-id (3993913)
    | |-parentid (3572237)
    | |-timestamp (3993913)
    | |-contributor (3993913)
    | | |-username (3982087)
    | | |-id (3982087)
    | | -ip (11824)
    | |-comment (3917241)
    | |-text (3993913)
    | |-sha1 (3993913)
    | |-model (3993913)
    | |-format (3993913)
    | -minor (3384811)
    |-redirect (27340)
    -DiscussionThreading (4698)
      |-ThreadSubject (4698)
      |-ThreadPage (4698)
      |-ThreadID (4698)
      |-ThreadAuthor (4698)
      |-ThreadEditStatus (4698)
      |-ThreadType (4698)
      |-ThreadSignature (4698)
      |-ThreadParent (3605)
      |-ThreadAncestor (3605)
      -ThreadSummaryPage (11)

相关内容

  • 没有找到相关文章

最新更新