维基工具、维基百科与Python

1 投票
1 回答
1076 浏览
提问于 2025-04-16 20:54

有没有人用Python(和Django)里的wikitools获取维基百科页面的经验?我想获取一篇文章,但只拿到了前几行,其他的内容都没有。我需要获取整篇文章,但我就是搞不定。文档也没有提供太多帮助。我的代码是:

wikiobj = wiki.Wiki("http://en.wikipedia.org/w/api.php?title=Some_Title&action=raw&maxlag=-1") 
wikipage = page.Page(wikiobj, url, section='content')
wikidata = wikipage.getWikiText(True).decode('utf-8', 'replace')

任何帮助都非常感谢。

1 个回答

1

我在我的项目中使用wikitools,不是为了获取页面上的文本,而是以不同的方式初始化wiki对象:

wikiobj = wiki.Wiki("http://en.wikipedia.org/w/api.php")
wikipage = page.Page(wikiobj, title="Some_Title")

在Wiki类中,你不需要在api.php后面提供任何查询。

接下来,看看Page类的定义:

__init__(self, site, title=False, check=True, followRedir=True, section=False, sectionnumber=False, pageid=False, namespace=False)

所以你需要在Page类的构造函数中提供标题(你提供了一些未知的url参数)。

撰写回答