1

我正在尝试从 mediawiki api 中获取所有 Kurt Cobain 名言的列表。我有:

https://en.wikiquote.org/w/api.php?format=json&action=query&srsearch=Kurt+Cobain&list=search

但是,它似乎没有给我任何他的引文,如此处所示……它也没有提供一种能够轻松解析的良好格式。

如何使用 API 获取他所有报价的列表?如果可能的话,还想包括来源 - 例如From an interview on MTV with Zeca Camargo, 1993-01-21, Rio de Janeiro, Brazil

更喜欢直接使用 API,但使用 pywikibot 的答案也很好。

4

1 回答 1

1

没有像模板这样的结构化数据来获取报价。您所能做的就是通过正则表达式从普通的 wikitext 中检索引号,例如:

>>> import pywikibot
>>> s = pywikibot.Site('en', 'wikiquote')
>>> p = pywikibot.Page(s,'Kurt Cobain')
>>> t = p.text
>>> for quote in t.splitlines():
        if quote.startswith('* '):
            print(quote)
于 2020-11-02T17:10:59.570 回答