问题描述
我正试图从mediawiki api中获取所有Kurt Cobain的报价清单。我有:
https://en.wikiquote.org/w/api.php?format=json&action=query&srsearch=Kurt+Cobain&list=search
但是,here似乎没有给我他的任何报价...也没有提供一种易于解析的好格式。
如何使用API获得他所有报价的列表?如果可能,还希望包含来源-例如From an interview on MTV with Zeca Camargo,1993-01-21,Rio de Janeiro,Brazil
直接喜欢该API,但是用pywikibot回答也很好。
解决方法
没有像模板这样的结构化数据来获取报价。您所能做的就是通过正则表达式从普通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)