我想以编程方式从 launchpad 检索与一个项目相关的所有问题和答案,以便我可以将它们导入到新的论坛网站。我正在查看 launchpadlib,但无法访问单个项目的问题:
from launchpadlib.launchpad import Launchpad
ll=Launchpad.login_anonymously('')
# get the project; but it does not contain references to questions (it references bugs, translations etc, but not questions
pro=ll.project['woo']
# some (random?) question from launchpad, but not for the project I need
ll.questions
使用 Web API 也可以。目标是以任何机器可读的格式(JSON、XML)获取内容。
答案1
默认的 1.0 API 版本比较稳定,但相当老旧,不包含最近导出的许多方法。为此,您需要使用 API 的“devel”版本:
lp = Launchpad.login_anonymously('name of your script', version='devel')
然后您可以使用开发 API 文档, 具体来说project.searchQuestions
:
project = lp.projects['foo']
questions = project.searchQuestions()
您可以按照 API 文档中的指示以各种方式限制这一点,或者只是像上面那样请求所有内容;无论哪种方式,您都会得到一批问题您可以迭代并操作的对象。