【问题标题】:How to get specific Wikipedia page section?如何获取特定的维基百科页面部分?
【发布时间】:2017-01-10 20:50:39
【问题描述】:

我想创建一个包含演员和他们演过的电影的图形数据库。为了获取演员和电影的列表,我正在尝试使用 pywikibot 解析器,但是当我只想要页面的电影部分时,我只能获取整页。有没有办法解析页面,所以我可以得到电影?这是我到目前为止所做的:

import pywikibot as pw

site = pw.Site()
page = pw.Page(site, actor_name) #will be put into loop to get multiple actors
print page.text #returns full text of the page in format below
print page.linkedPages #returns linked pages

有一个想法是返回与演员相关的所有链接页面,因为大多数电影都是链接的。我获取文本数据的格式如下:

{{Infobox person
| name         = 
| birth name   =
}}

Summary

==Early life==

==Career==

==Filmography==

我该怎么做才能只获取页面的电影部分?

【问题讨论】:

    标签: python-2.7 wikipedia-api pywikibot


    【解决方案1】:

    您可以使用Wikipedia API 完成此操作。例如,要获取 William Alland 的 Filmography 部分,您需要通过以下方式获取名称为 "Filmography" 的部分的索引:

    https://en.wikipedia.org/w/api.php?action=parse&prop=sections&page=William Alland
    

    从响应中我们看到它是 2。然后我们必须使用该索引来获取仅在本节中的文本:

    https://en.wikipedia.org/w/api.php?action=parse&prop=text&section=2&page=William Alland
    

    注意:使用prop=wikitext 而不是text 来获取wiki 格式的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-15
      • 2022-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多