好吧,我只是试图解析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/