【问题标题】:How to solve Wikipedia API Page Error while reading in python?使用python阅读时如何解决Wikipedia API页面错误?
【发布时间】:2021-05-11 12:00:42
【问题描述】:

我正在做一个文档摘要 NLP 项目,所以我想从维基百科中提取 Elon Musk 的生物。我试图在维基百科库 (API) 的帮助下提取它,

我首先尝试使用页面标题(即 Elon Musk),但它给了我一个页面错误PageError: Page id "e on musk" does not match any pages. Try another id! 你注意到它显示的页面 id "e on musk" 然后我尝试使用它的页面 id 编号(即 Q317521)它输出我关于一些植物的结果'Matthiola incana'

这是我的代码

import wikipedia

elon = wikipedia.page('Elon Musk').content
elon
# outputs
PageError: Page id "e on musk" does not match any pages. Try another id!


elon = wikipedia.page('Q317521').content
elon
# outputs (shorted)
Matthiola incana is a species of flowering plant in the cabbage family Brassicaceae. Common names include Brompton stock,

我尝试了 Alan turn 不起作用,还尝试了 Albert_Einstein,它显示出奇怪的输出,就像 Elon Musk 一样。

但是,它与 Nikola Tesla、Michio Kaku、Narendra Modi 等人合作,这表明我没有做错。

【问题讨论】:

    标签: python-3.x wikipedia text-extraction data-extraction


    【解决方案1】:

    wikipedia.page 有点废话。它使用 Wikipedia 的搜索建议 API 来转换其 title 参数,然后再在 Wikipedia 上查找它。搜索建议(类似于 Google 的“您的意思是......?”功能)完全不适合此目的,它们是通过寻找最接近的(就edit distance) 由常用词词典中的术语组成的字符串。这对于修正拼写错误非常有效,绝对不能用于产生结果的搜索词,更不用说用于实际的文章标题了。

    您可以使用auto_suggest=false 禁用此行为,尽管鉴于wikipedia 的一半错误报告与此问题有关,有些几乎可以追溯到解码,您可能需要寻找维护更好的库。

    【讨论】:

    • 维基百科很陈旧,整个平台都需要改造。
    • @JayDev wikipedia Python 模块与 Wikipedia 无关,它只是某人编写的 Python 库(一个不错的库,IMO,除了这个错误,但它是一个非常严重的错误)。
    • 好的,我知道了。我对python不太了解。现在主要是写 TypeScript。虽然如果我有时间我想试试。
    猜你喜欢
    • 2017-12-30
    • 1970-01-01
    • 2022-09-14
    • 1970-01-01
    • 1970-01-01
    • 2021-12-07
    • 1970-01-01
    • 1970-01-01
    • 2022-11-24
    相关资源
    最近更新 更多