Python redmine: 维基页面文本
我在使用 python-redmine 这个库,想要获取维基页面的文本,但遇到了一个错误——说某个属性不存在(但文本是存在的)。这是我的代码:
from redmine import Redmine
redmine = Redmine('http://redmine.example.com', username='user', password='1234')
projects = redmine.project.all()
for project in projects:
print('Project: '+project.name)
try:
for page in project.wiki_pages:
try:
print('Title: '+page.title)
except:
print('Title: none')
try:
print('Content: '+page.text)
except:
print('Content: none')
print('\n===========================\n')
except:
print('None')
我该怎么才能从维基页面获取文本呢?请帮帮我!
补充说明:我使用的是Python 3,python-redmine是通过pip安装的。
2 个回答
2
你不能通过这种方式获取维基页面的文本,因为 project.wiki_pages
只会返回一个项目中所有维基页面的列表,还有一些其他的细节信息。如果你想获取某个维基页面的文本、作者和其他信息,就必须为每个维基页面单独发起请求:
from redmine import Redmine
redmine = Redmine('http://redmine.example.com', username='user', password='1234')
projects = redmine.project.all()
for project in projects:
print('Project: ' + project.name)
for wiki_page in project.wiki_pages:
wiki_page_details = redmine.wiki_page.get(wiki_page.title, project_id=project.id)
print('Title: ' + wiki_page_details.title)
print('Content: ' + wiki_page_details.text)
print('\n===========================\n')
这样做效率不高,但 Python Redmine 只是 Redmine REST API 的一个接口,而 Redmine 并没有提供一种方法可以一次性获取所有项目维基页面的所有信息,所以对每个维基页面单独发起请求是唯一的解决办法。