如何使用pywikibot在维基百科上查找子类别和子页面



我想在";"类别中的页面";男性化的名字"本网站上的部分:https://en.wikipedia.org/wiki/Category:Masculine_given_names

我用以下代码进行了尝试:

import pywikibot
site = pywikibot.Site("en", "wikipedia")
page = pywikibot.Page(site, 'Category:Masculine_given_names')
print(list(page.categories()))

但是我只能在页面的最底部找到分类。如何获取此网站上的子类别和(子(页面?

如何获取给定类别的子类别和(子(页面

首先,您必须使用Category类而不是Page类。你必须创建非常相似的:

>>> import pywikibot
>>> site = pywikibot.Site("en", "wikipedia")
>>> cat = pywikibot.Category(site, 'Masculine_given_names')

Category类有其他方法,有关更多信息和可用参数,请参阅文档。例如,categoryinfo属性简要概述了类别内容:

>>> cat.categoryinfo
{'size': 1425, 'pages': 1336, 'files': 0, 'subcats': 89}

该类别共有1425个条目,本案例共有1336页和89个子类别。

要获取所有子类别,请使用subcategories()方法:

>>> gen = cat.subcategories()

注意,这是一个生成器。如下所示,您将获得上面categoryinfo中的所有内容:

>>> len(list(gen))
89

要获取所有页面(文章(,您必须使用articles()方法,例如

>>> gen = cat.subcategories()

猜猜相应的列表会有多少条目。

最后,有一种方法可以获取类别的所有成员,该类别包括页面、文件和子类别,称为members():

>>> gen = cat.members()

相关内容

  • 没有找到相关文章

最新更新