【问题标题】:Retrieving the actual displayed link value from MediaWiki API从 MediaWiki API 检索实际显示的链接值
【发布时间】:2014-06-17 10:33:09
【问题描述】:

MediaWiki API 目前允许您检索特定文章的所有链接。 但是,由于 wiki 管道链接格式的不同,显示在 wiki 页面上的链接名称是不同的。

MediaWiki 允许您检索实际的底层链接,但我无法找到一种方法来检索用户实际看到的显示值。

例如:

以下情况:

"[[Second Polish Republic|Poland]] was invaded by [[Nazi Germany|Germany]] during World War II."

我希望不仅检索实际链接(Second Polish Republic, Nazi Germany),还希望检索它们对应的显示值(Second Polish Republic => Poland, Nazi Germany =>Germany).

有没有办法做到这一点?

以下是我用于请求的格式示例:

http://en.wikipedia.org/w/api.php?&action=query&redirects=&indexpageids=&prop=links&format=json&titles=World_War_II&pllimit=500

【问题讨论】:

    标签: php mediawiki mediawiki-api


    【解决方案1】:

    no documented way 可以做到这一点。

    您最好的方法可能是解析 wikitext,寻找 [[Link target|Link text]]:

    1. 获取完整的 wiki 代码,使用 action=parse
    2. 使用action=expandtemplates 确保您获得模板内的任何链接
    3. 使用正则表达式获取所有链接及其链接文本

    【讨论】:

    • 那太糟糕了。感谢你的回答。我试试看。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-14
    • 2010-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多