Web 获取维基百科链接
因此,我正在构建一个应用程序,在数据库中显示关于主题的信息,在数据库中,维基百科上有一个主题链接 现在,我们想为应用程序构建多语言界面(添加法语)。 我们的主要数据有法文版本。 但对于维基百科链接,我们只有英文链接 但是维基百科本身,在一个主题的页面上有指向同一主题的不同语言的链接 例如,拿破仑·波拿巴在维基百科上有一个英文页面 但是如果你访问这个页面,你会看到拿破仑的其他语言的链接,还有一个法语的链接Web 获取维基百科链接,web,wikipedia,wikipedia-api,Web,Wikipedia,Wikipedia Api,因此,我正在构建一个应用程序,在数据库中显示关于主题的信息,在数据库中,维基百科上有一个主题链接 现在,我们想为应用程序构建多语言界面(添加法语)。 我们的主要数据有法文版本。 但对于维基百科链接,我们只有英文链接 但是维基百科本身,在一个主题的页面上有指向同一主题的不同语言的链接 例如,拿破仑·波拿巴在维基百科上有一个英文页面 但是如果你访问这个页面,你会看到拿破仑的其他语言的链接,还有一个法语的链接 那么,如果我们懂英语,有没有一种编程方式可以访问法语url?嗯,有时候链接中唯一的变化就
那么,如果我们懂英语,有没有一种编程方式可以访问法语url?嗯,有时候链接中唯一的变化就是语言的快捷方式,例如: 通过访问站点,大写/小写字母“J”不会产生影响,因为调用 不管怎样,他还是成功了 但对于维基百科上所有不属于个人的东西来说,没有类似链接的可能性很大
你的数据库大吗?如果不是太大,我会手动输入链接,因为对于这种“愚蠢”的情况,这比一个大算法更有效。我很确定有一个维基百科api方法可以做到这一点,但我忍不住发布了一个免费的答案。使用
mqlread
API和以下MQL
:
{
"en:key": {
"namespace": "/wikipedia/en",
"value": "Lake"
},
"fr:key": {
"namespace": "/wikipedia/fr",
"value": null,
"limit": 1
}
}
。。。你可以得到你想要的。MQL基本上说:“给定/wikipedia/en/Lake
对象,那么/wikipedia/fr
名称空间中的相同对象是什么?答案当然是/wikipedia/fr/Lac
在REST中,这是:
https://www.googleapis.com/freebase/v1/mqlread?query={“en:key”:{“namespace”:“/wikipedia/en”,“value”:“Lake”},“fr:key”:{“namespace”:“/wikipedia/fr”,“value”:null,“limit”:1}
(为清晰起见,非转义且带有空格)
答复如下:
{“结果”:{“en:key”:{“value”:“Lake”,“namespace”:“/wikipedia/en”},“fr:key”:{“value”:Lac,“namespace”:“/wikipedia/fr”}}
。。。所以您需要response[“result”][“fr:key”][“value”]
一些注意事项:
查询
部分”(“
变成”$0028
)祝您好运!interwiki链接现在存储在Wikidata中。例如,您可以使用MediaWiki API访问它们,也可以下载Wikidata转储
如果您还需要来自Freebase的其他信息,那么Freebase API是很好的,但是如果您只想直接获取interwiki链接,那么它将为您提供更全面的覆盖范围(148种语言的维基百科,而Freebase中只有30种语言)谢谢,但我们有超过200000个主题,其中许多主题的链接与英文主题完全不同。我希望有一些REST API或简单的东西。你看过MediaWiki API的文档了吗?可能是