如何检索词维基内容?

可如何维基的API被用于确定是否存在一个字?

--------------解决方案-------------

维基API可用于查询是否存在一个字。

现有和非现有页面的例子:

http://en.wiktionary.org/w/api.php?action=query&titles=test http://en.wiktionary.org/w/api.php?action=query&titles=testx

第一链路提供对其他类型的格式,可能更容易解析的例子。

在小XHTML格式(应超过所需的存在)检索字的数据,请求页面的打印版本:

http://en.wiktionary.org/w/index.php?title=test&printable=yes http://en.wiktionary.org/w/index.php?title=testx&printable=yes

这些然后可以用任何标准的XML解析器解析。

还有,在短短检查维基与你正在寻找的名称的页面的几个注意事项:

警告#1:所有Wiktionaries包括英文维基词典居然有包括每一种语言的每一个字的目标,因此,如果您只需使用上面的API调用,你就会知道,你问这个词是在至少一种语言文字,但不一定英文:http://en.wiktionary.org/w/api.php?action=query&titles=dicare

警告#2:也许从重定向一个字一个字的存在。 这可能是从另一种拼写,但也可能是从某种类型的错误。 http://en.wiktionary.org/w/api.php?action=query&titles=profilemetry:上面的API调用不会重定向和文章区分

需要注意#3:有些Wiktionaries包括英文维基词典包括“常见的拼写错误”:http://en.wiktionary.org/w/api.php?action=query&titles=fourty

如果这些都不是你想要的东西在内,你将不得不加载和分析wikitext的本身,这不是一个简单的任务。

你可以下载维基词典数据的转储。 有在FAQ的详细信息。 为了您的目的,定义转储可能比XML导出一个更好的选择。

为了保持它非常简单,从这样的转储中提取的话:

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

你可能会想尝试JWKTL出来。 我只是发现了它;)

http://en.wikipedia.org/wiki/Ubiquitous_Knowledge_Processing_Lab#Wiktionary_API

http://www.ukp.tu-darmstadt.de/software/jwktl/

分类:API 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.968 (s). 10 q(s)