python的wikipedia
包能够从维基百科页面中检索部分。您可以提取部分列表并使用该列表中的元素来检索该部分的内容。我一直在为很多页面使用它,并且遇到了一个页面,它为一个特定部分返回None
:
import wikipedia
wikipedia.set_lang("nl")
page = wikipedia.page("Samenstelling_Tweede_Kamer_1875-1879")
secs = page.sections #Get a complete list of the page's sections
print(page.section(secs[1])) #returns the section
print(page.section(secs[2])) #doesn't work, returns a None
我查看过维基百科页面来源并且没有发现任何奇怪的内容
注意:我已安装wikipedia
软件包,如下所示:
pip3 install git+https://github.com/lucasdnd/Wikipedia.git
答案 0 :(得分:0)
该包中的.section()
方法查找格式如下的节标题:
section = u"== {} ==".format(section_title)
请注意标题两侧的空格。但是,您正在查看的页面在大多数部分中都没有这些空格:例如==Gekozen bij de verkiezingen van 8 juni 1875==
。对我来说,这看起来像包中的一个错误,因为我认为没有理由期望这些部分将被精确地格式化。
答案 1 :(得分:0)
问题是由以下2个查询的响应引起的:
https://nl.wikipedia.org/w/api.php?action=parse&prop=sections&page=Samenstelling_Tweede_Kamer_1875-1879&format=json
https://nl.wikipedia.org/w/api.php?explaintext=&rvprop=ids&titles=Samenstelling_Tweede_Kamer_1875-1879&prop=extracts|revisions&action=query&format=json
不起作用的部分似乎有双倍空间。仅在第二个查询中删除此双空格:
Conservatief-Katholiek (14 zetels) Conservatief-Katholiek (14 zetels)
这导致维基百科python模块中的问题。我在维基媒体问题页面上发现了reported此问题。