有没有一种简单的方法可以导出维基百科的翻译标题以获得这样的集合:
russian_title -> english_title
?
我试图从ruwiki-最新-页面-meta-current.xml.bz2 and ruwiki-最新-pages-articles.xml.bz2 http://dumps.wikimedia.org/ruwiki/latest/然而,翻译数量还不到 25k。
我发现有些不存在。例如。人们可以看到英文维基的链接here http://ru.wikipedia.org/wiki/Yandex,但是没有链接[[en:Yandex]]
在垃圾场里。
也许我应该尝试解析英语维基百科,但我确信有更好的解决方案。
顺便说一句,我正在使用wikixmlj http://code.google.com/p/wikixmlj/+试图找到en:Yandex
with grep
.
UPD:链接到@svick的解决方案数据:http://dumps.wikimedia.org/ http://dumps.wikimedia.org/[语言代码] wiki/latest/
例如http://dumps.wikimedia.org/ruwiki/latest/ http://dumps.wikimedia.org/ruwiki/latest/
各种语言的维基百科文章之间的大多数链接现已打开Wikidata https://www.wikidata.org/。因此,如果您想获取源代码,您可以下载 Wikidata 的转储并解析它(它是 JSON 格式)。
但我认为更好的方法是使用转储the langlinks table https://www.mediawiki.org/wiki/Manual%3aLanglinks_table。其中包含您想要的信息,包括来自维基数据的链接和仍处于旧形式的链接。
此转储采用 SQL 格式。您可以将该转储导入 MySQL 数据库,也可以直接解析它(我已经写过一个 .Net 库可以做到这一点 https://github.com/svick/Wikipedia-SQl-dump-parser).
该表包含从 wiki 的页面 ID(在您的例子中是俄语维基百科)到其他 wiki 中的页面标题的映射。这意味着您将需要您感兴趣的页面的页面 ID。对于少量页面,您可以使用以下命令手动查找它们,或者您可以使用 API。但如果您需要大量页面,则应该下载该文件的转储page
表,其中包含此映射。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)