维基百科页面ID从URL中提取

3
我正在使用Java解析维基百科转储。在我的模块中,我想知道维基内部页面的页面ID,这些页面是当前页面引用的页面。获取内部链接和其URL很容易,但如何从URL获取Page ID呢?
我是否需要使用mediaWiki?如果需要,如何使用?还有其他替代方法吗?
例如:http://en.wikipedia.org/wiki/United_States,我想获取它的Page-ID,即3434750。

页面ID在页面中的哪里指定? - christopher
如果维基百科没有为您提供检索此信息的API,那么看起来您需要在您的“爬虫”中构建一些自动化来进入每个页面并检索所需的ID(您可以尝试使用Selenium/HTMLUnitDriver)。 - the_marcelo_r
Wikipedia API开始。从页面源代码中,似乎这个ID在mw.config.set中是wgArticleId,但我不确定如何从API中提取它。 - admdrew
我想我必须进行一些解析才能检索它。 - MrTambourineMan
2个回答

7
您可以使用API来实现这一点。具体而言,查询可能类似于:

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

(您还可以在titles参数中指定一个以上的页面标题,用|分隔。)
作为替代方案,您可以下载page.sqldump(英文维基百科压缩后1 GB),其中也包含此信息。要实际查询它,您可以将其导入到MySQL数据库中,然后查询该数据库,或者直接解析SQL。

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接