首页 > 解决方案 > Python wikipedia.page 丢弃字母 h

问题描述

所以我目前正在尝试找到给定数量的单词的相似之处。为此,我想获取相应 Wikipedia 页面的内容并搜索所有这些页面共有的单词(当然减去文章等单词)。

我在德语维基百科页面上搜索,其中一个词是“Rhein”(莱茵河)。但由于某种原因,wikipedia.page("Rhein") 给了我“rein”的消歧页面。wikipedia.search("Rhein") 显示正确的页面,但 .page() 或 .content() 不显示。

对此有何解释?

import wikipedia

wikipedia.set_lang("de")

try:
  print(wikipedia.page("Rhein"))
except wikipedia.exceptions.DisambiguationError as e:
  print(e.options)

我的 Jupyter notbeook 中的输出:

['Rein AG', 'Rein (Gemeinde Gratwein-Straßengel)', 'Stift Rein', 'Rein in Taufers', 'Rein (Adelsgeschlecht)', 'Reinheit', 'Reiner Reim', 'Adolf Rein', 'Andrew Rein', 'Anette Rein', 'Anna Rein-Wuhrmann', 'Antje von Rein', 'Bernhard Rein', 'Christian Rein', 'Conrad Rein', 'Daniel Rein', 'Dorothea Rein', 'Emil Rein', 'Erich Rein', 'Ernst Rein', 'Friedrich Karl Rein', 'Gerhard Rein (Mineraloge)', 'Gerhard Rein (Journalist)', 'Gerhard Rein (Mathematiker)', 'Hans Rein (Elektrotechniker)', 'Hans Rein (Kanute)', 'Hans Rein', 'Harald Rein', 'Heinz Rein', 'Herbert Rein', 'Hermann Rein', 'Hermann von Rein', 'Jewgeni Borissowitsch Rein', 'Johannes Justus Rein', 'Jonas Rein', 'Karl Rein', 'Kathrin Claudia Rein', 'Kurt Rein', 'Manfred Rein', 'Marianne Rein', 'Martin Rein', 'Paul Rein', 'Siegfried Rein', 'Steffen Rein', 'Torald Rein', 'Torolf Rein', 'Trine Rein', 'Udo Rein', 'Walter Rein', 'Wilhelm Rein', 'Wilhelm Rein (Philologe)', 'Rain', 'Reyn', 'Rhein (Begriffsklärung)']

有趣的是:wikipedia.page("Rhine") 工作正常。

标签: pythonwikipedia

解决方案


维基百科包中有一个错误。如果您调用wikipedia.page("Rhein"),它首先检查是否可以找到替代拼写。对于“Rhein”,它会找到“Rein”,然后返回“Rein”的结果。寻找替代拼写是一个不错的选择,但如果仅在没有找到原始拼写的结果时启用它会更好。

您可以通过编写以下内容来避免此问题:

wikipedia.page("Rhein", auto_suggest=False)

推荐阅读