好吧,我只想解析Data Dump提供的维基词典Wikimedia。
我的目的是将XML数据转储解析为MySQL数据库。我没有找到关于此XML结构的适当文档。此外,我无法打开该文件,因为它实际上非常庞大(~1 GB)。
我想过用一些PHP脚本解析它但我不知道要继续的XML结构。因此,如果有人已经使用PHP解析(或了解任何要解析的工具)到MySQL,请分享详细信息。如果没有PHP,其他方法也没关系。
我刚刚关注这篇文章(http://www.igrec.ca/lexicography/installing-a-local-copy-of-wiktionary-mysql/),但没有成功.. :(如果有人在此过程中取得成功,请提供帮助。先谢谢。
答案 0 :(得分:3)
可以使用XMLReader
在compress.bzip2://
stream上运行\-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)
来解析这些文件。您拥有的文件的结构是示例性的(窥视前三个元素):
mysql
文件本身有点大,因此处理需要相当长的时间。或者,不要对XML转储进行操作,而只需通过\-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)
命令行工具导入SQL转储。网站上也提供SQL转储,请参阅英文维基词典的所有转储格式:
整个文件较大,超过66 849 000个元素:
{{1}}