好吧,我只是试图解析Data Dump提供的WiktionaryWikimedia
我的目的是将XML数据转储解析到MySQL数据库中。我没有找到关于这个XML结构的适当文档。另外,我无法打开该文件,因为它实际上非常大(~1 GB)。
我想用一些PHP脚本来解析它,但是我对XML结构一无所知。因此,如果有人已经使用PHP将MySQL解析(或者知道任何解析工具),请分享详细信息。如果PHP中没有任何内容,其他方法也可以。
我刚刚关注了这篇文章(http://www.igrec.ca/lexicography/installing-a-local-copy-of-wiktionary-mysql/),但是没有成功……(如果有人在这个过程中成功了,请帮助。提前谢谢。

最佳答案

这些文件可以在PHP中解析,并在XMLReader stream上运行compress.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/
整个文件稍大一点,有超过66849000个元素:
\-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)

关于php - 使用PHP将Wiktionary XML数据转储到MySQL数据库中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25200094/

10-11 02:43
查看更多