如何获取特定的维基百科页面部分?
How to get specific Wikipedia page section?
我想创建一个关于演员和他们演过的电影的图形数据库。要获取演员和电影的列表,我尝试使用 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
一个想法是 return 所有与演员相关的链接页面,因为大多数电影都是链接的。我获取文本数据的格式如下:
{{Infobox person
| name =
| birth name =
}}
Summary
==Early life==
==Career==
==Filmography==
如何才能只获取页面的影片目录部分?
您可以使用 Wikipedia API. For example, to get Filmography section for William Alland 来完成,您需要获取名称为 "Filmography"[=26= 的部分的 index ] 来自:
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§ion=2&page=William Alland
注意: 使用 prop=wikitext
而不是 text
以获取 wiki 格式的内容。
我想创建一个关于演员和他们演过的电影的图形数据库。要获取演员和电影的列表,我尝试使用 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
一个想法是 return 所有与演员相关的链接页面,因为大多数电影都是链接的。我获取文本数据的格式如下:
{{Infobox person
| name =
| birth name =
}}
Summary
==Early life==
==Career==
==Filmography==
如何才能只获取页面的影片目录部分?
您可以使用 Wikipedia API. For example, to get Filmography section for William Alland 来完成,您需要获取名称为 "Filmography"[=26= 的部分的 index ] 来自:
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§ion=2&page=William Alland
注意: 使用 prop=wikitext
而不是 text
以获取 wiki 格式的内容。