为什么pywikibot给出<bound方法页面.类别共页(维基百科:沙盒)>投入产出?

2024-05-08 04:10:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我在linux中使用PywikiBot核心版本来创建一个程序来简单地获取Wikipedia的类别第页,我的代码是:

# -*- coding: utf-8  -*-
import pywikibot

site = pywikibot.Site("en")
page = pywikibot.Page(site, u"Wikipedia:Sandbox")

item = pywikibot.ItemPage.fromPage(page)
dictionary = item.get()

print page.categories

我希望得到分类,但我得到:

^{pr2}$

我遵循this tutorial但是我应该说pywikibot中的文档写得很糟糕,您应该打开文件来查找一些信息,然后我发现了def categories:

^{3}$

我宁愿不改变框架代码。在


Tags: 代码程序版本核心linuxpagesitewikipedia
1条回答
网友
1楼 · 发布于 2024-05-08 04:10:09

试试这个:

print page.categories()

编辑:

^{pr2}$

这是因为该方法返回一个生成器,需要在获取数据之前对其进行迭代。使用列表时(页面.类别())它从生成器创建一个列表。在

另一种首选方法是在for循环中使用生成器,如下所示:

for category in page.categories():
    print category

你可以在这里阅读发电机:

https://wiki.python.org/moin/Generators

相关问题 更多 >