Wikipedia API for Python:如何从相应页面获取项目 ID?

Wikipedia API for Python: how can I get the item ID from a corresponding page?

我对给定页面上正在讨论的项目使用 Wikipedia-API 0.5.4, and I would like to retrieve the item ID。是否可以使用从页面查询返回的数据来执行此操作?

我可以检索页面 ID。但是,关于同一项目的不同语言的页面没有相同的 pageid,但它们确实引用了一个唯一的项目 ID。

在下面的示例中,歌手 Cher 的英文页面的 pageid 与对应的法语页面的 pageid 不同,而“Cher”的项目 ID 在这两种情况下应该相同。

是否无法从页面对象访问项目 ID?

import wikipediaapi as wp
wp_en = wp.Wikipedia('en')
cher_en = wp_en.page('Cher')

print(cher_en.pageid)
> 80696

print(cher_en.langlinks['fr'].pageid)
> 339022

我最终直接使用了 requests library to use the Wikipedia REST API。包括 prop=pageprops 将 return 不同语言共享的项目 ID。

import requests as rq

request_str = 'https://en.wikipedia.org/w/api.php?action=query&prop=pageprops&titles=Cher&format=json'
resp = rq.get(request_str)
resp.text.split('wikibase_item":"')[1].split('"')[0]
> 'Q12003'

fr_str = 'https://fr.wikipedia.org/w/api.php?action=query&prop=pageprops&titles=Cher_(artiste)&format=json'
fr_resp = rq.get(request_str)
fr_resp.text.split('wikibase_item":"')[1].split('"')[0]
> 'Q12003'