1

我想创建一个演员和他们演过的电影的图形数据库。为了获得演员和电影的列表,我正在尝试使用 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==

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

4

1 回答 1

2

您可以使用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改为使用textwiki 格式获取内容。

于 2017-01-12T17:09:06.577 回答