【问题标题】:how to get table info and summary of page using Wikipedia api?如何使用 Wikipedia api 获取表格信息和页面摘要?
【发布时间】:2020-04-13 13:27:08
【问题描述】:

我想使用 MediaWiki API(如 DuckDuckGo)获取 Wikipedia 页面的最少信息。例如史蒂夫卡瑞尔:https://duckduckgo.com/?q=steve+carell&t=hp&ia=news&iax=about

如何使用HTML 格式的维基百科网址(例如https://en.wikipedia.org/wiki/Steve_Carell)获取此信息?

【问题讨论】:

    标签: wikipedia-api


    【解决方案1】:

    您可以为此使用 MediaWiki API。有一个扩展,TextExtracts,正是为此而生的(它安装在 Wikipedia 上)。

    在您的情况下,例如: https://en.wikipedia.org/w/api.php?action=query&prop=extracts&exsentences=1&titles=Steve%20Carell

    将返回类似:

    <p class=\"mw-empty-elt\">\n</p>\n\n<p class=\"mw-empty-elt\">\n \n</p>\n<p><b>Steven John Carell</b> (<span></span>; born August 16, 1962) is an American actor, comedian, producer, writer and director.</p>
    

    您也可以自定义 API 返回多少个句子(或字符),具体请咨询API documentation

    还有检索保存在 Wikidata 中的简短描述的方法(并且在 Wikipedia 的移动视图中可见)。这个电话将是: https://en.wikipedia.org/w/api.php?action=query&prop=pageprops&titles=Steve_Carell

    这会在页面的 pageprops 中返回以下属性:

    "wikibase-shortdesc": "American actor"
    

    这可能更适合您的用例。

    您甚至可以通过一个组合请求获得两个结果: https://en.wikipedia.org/w/api.php?action=query&prop=extracts|pageprops&exsentences=1&titles=Steve_Carell

    【讨论】:

    • 我可以在一个请求中同时获得它们吗?
    • 当然。我使用请求编辑了我的答案,以便在一个请求中检索两个结果。
    • summary API 提供的提取效果明显优于 TextExtracts。
    • 啊,是啊,没想到摘要API:/
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-15
    • 1970-01-01
    • 1970-01-01
    • 2020-07-26
    • 1970-01-01
    • 2013-12-20
    相关资源
    最近更新 更多