【问题标题】:Getting article text for movies from the wikipedia api?从 wikipedia api 获取电影的文章文本?
【发布时间】:2021-08-06 20:25:04
【问题描述】:

我的主要目标是能够传入包含电影名称的字符串,根据查询获取建议,然后加载所选电影的文章文本。

在我看来,这分为两个 API 调用。一种是用户输入电影名称并获得建议,然后是另一个 API 调用,根据所选电影加载文章文本。

我曾尝试查看 wikipedia api,但它非常复杂,我感到不知所措。


对于第一个 api 调用,我从主页上的自动建议中删除了这个:

https://en.wikipedia.org/w/api.php?action=query&format=json&generator=prefixsearch&redirects=&ppprop=displaytitle&piprop=thumbnail&pithumbsize=80&pilimit=6&gpssearch=conan%20the%20barbarian

它有点工作。我看到一个警告,不幸的是它不仅限于电影。但我看到“野蛮人柯南(1982 年电影)”的 pageId 为 3444797,我认为这是第二次 API 调用所需要的。

对于第二个 API 调用,我在一些文档中找到了这一点,但它不接受 pageId,它只返回文章的“摘录”。

https://en.wikipedia.org/w/api.php?action=query&prop=extracts&exsentences=10&exlimit=1&titles=Pet_door&explaintext=1&formatversion=2

所以,总结一下,我该怎么做:

  • 根据给定的搜索词获取电影列表
  • 获取从先前 API 调用返回的给定项目的文章文本?

【问题讨论】:

    标签: wikipedia wikipedia-api


    【解决方案1】:

    首先,我强烈推荐使用 Mediawiki 系统提供的搜索引擎以获得更好的搜索结果。 Mediawiki 使用名为cirrus search 的扩展程序。您可以通过阅读this guide 找到更多关于如何高效使用它的详细信息。

    无论如何,要获取与特定搜索词相关的电影的搜索结果,您可以使用以下 API:

    https://en.wikipedia.org/w/api.php?action=query&format=json&list=search&utf8=1&formatversion=latest&srsearch="conan the barbarian" articletopic:films

    如您所见,我使用默认搜索引擎获取结果,与野蛮人柯南相关,同样的API会确保结果项与相关>电影主题。

    接下来,您可以使用响应中的标题("title":),通过此 API 获取页面内容:

    https://en.wikipedia.org/w/api.php?action=query&prop=extracts&titles=Conan of Venarium&explaintext=1&formatversion=2

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-04
      • 1970-01-01
      • 2010-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多