有没有人parsing过维基文库?

维基词典是涵盖多种语言的维基辞典。 它甚至有翻译。 我会有兴趣parsing它和玩数据,有没有人做过这样的事情? 有什么图书馆可以使用吗? (最好是Python。)

Wiktionary在MediaWiki上运行,它有一个API 。

API文档的一个子页面是客户端代码,其中列出了一些Python库 。

我曾经一度下载了一个wiktionary转储文件,试图收集斯拉夫语言的词汇和定义。 我使用elementtree来访问它,通过转储的XML文件。 我会避免尝试刮或抓取该网站,只需下载wikimedia提供的wiktionary的xml转储。 去维基媒体下载 ,寻找英文wiktionary转储( enwiktionary ),并转到最近的转储。 你可能会想要pages-articles.xml.bz2文件,这只是文章内容,没有历史或评论。 用你喜欢的任何xml处理库parsing这个。 我个人比较喜欢elementtree。 祝你好运。

wordnik在parsing定义等方面做得很好,而且他们有很棒的API

就像其他人所说的那样,wiktionary是一种格式化的灾难,并没有被构build为计算机可读的

我在parsing德语的wiktionary时有一个破解。 我最终把它写得太难了,但是在放弃之前,我把我的代码放在了https://github.com/benreynwar/wiktionary-parser上。; 尽pipe编辑们使用了一些惯例,但除了同伴监督之外,并没有强制执行这些惯例。 所使用的模板的多样性以及页面中的所有拼写错误使parsing相当具有挑战性。

我认为问题在于他们已经使用了相同的系统作为wiktionary,这对编辑人员来说非常方便,但是不适合更多结构化的wiktionary内容。 这是一个耻辱,因为如果可以很容易地parsingwiktionary它将是一个非常有用的资源。

是的,很多人parsing了维基文库。 您通常可以在Wiktionary-l邮件列表档案中find过去的经验。

其他答案没有提到的项目是DBPedia的维基文库RDF提取 。

其他几十个研究项目parsing了维基文库:你可以在最近的维基文库特刊和维基媒体研究通讯的其他期刊中find一些例子。

最近有人还制作了一个英文的维基词典REST API ,其中包含了一个未指定的维基词典数据子集; 未来的计划还不得而知。

欢迎您使用MySQLparsing的Wiktionary数据库。 有两个由Java编写的parsing器创build的数据库(英语维基词典和俄语维基词典): http : //wikokit.googlecode.com

如果你喜欢PHP,那么欢迎你玩piwidict – PHP API这个机器可读的维基词典2

我只是从德国转储那里做了一个单词列表:

bzcat pages-articles.xml.bz2 | grep '<title>[^[:space:][:punct:]]*</title>' | sed 's:.*<title>\(.*\)</title>.*:\1:' > words 

你可能会对dbnary项目感兴趣,而不是python,但很有趣。 声明支持parsing21种语言,并支持wikdict 。

这取决于你需要彻底parsing它。 如果你只需要用一种语言(定义,词源,发音,共轭等等)来获得一个单词的所有内容,那么这很容易。 我以前做过这个,虽然在Java中使用jsoup

但是,如果您需要将其parsing为内容的不同组成部分(例如只是获取单词的定义),那么这将更具挑战性。 维基词典中的词语没有预先定义的模板,所以标题可以是<h3><h6>任何内容,这些章节的顺序可能是混乱的,可以是重复的等等。

还有JWKTL在parsing和提取wiktionary的结构化数据方面做得很好。 它是用Java编写的,并且支持英文,德文和俄文版本。