来自URL的Wikipedia页面ID

时间:2014-03-20 18:00:54

标签: java mediawiki wikipedia wikipedia-api

我正在解析java中的wikipedia转储。在我的模块中,我想知道当前页面引用的wiki内部页面的页面ID。从中获取内部链接以及网址很容易。但是如何从网址获取网页ID。

我是否必须使用一些mediaWiki?如果是的话 还有其他选择吗?

例如:http://en.wikipedia.org/wiki/United_States 我想得到它的Page-Id,即3434750

2 个答案:

答案 0 :(得分:7)

您可以使用API​​。具体来说,查询看起来像:

http://en.wikipedia.org/w/api.php?action=query&titles=United_States

(您还可以在titles参数中指定多个页面标题,以|分隔。)

作为替代方案,您可以下载page.sql dump(英文维基百科的1 GB压缩版),其中也包含此信息。要实际查询它,您可以将其导入MySQL数据库然后查询,或者您可以直接解析SQL。

答案 1 :(得分:1)

如果您无法使用API​​,则始终可以通过将?action=info附加到网址来获取信息页面中的pageID。应该为解析器提供更好的起点。

上面的示例:https://en.wikipedia.org/wiki/United_States?action=info