使用 Stackexchange API 检索答案和评论的文本正文

use*_*224 9 python stackexchange python-3.x stackexchange-api

我正在尝试使用堆栈交换 API 从堆栈溢出中检索与 Python 相关的问题、问题评论和问题答案。我想提取所有信息,包括问题、评论和答案的正文。为了提取问题,我使用以下代码:

questions = SITE.fetch('questions', tagged='python', fromdate=from_date, todate=today,filter='!9YdnSIN*P')
Run Code Online (Sandbox Code Playgroud)

此过滤器返回与问题相关的所有信息,包括问题的文本正文。但是,当我使用相同的过滤器来提取这些问题的答案时,我没有得到答案的文本正文。这是代码:

answers = SITE.fetch('questions/{ids}/answers', ids=[59239886],filter='!9YdnSIN*P')
Run Code Online (Sandbox Code Playgroud)

当我将过滤器的值更改为

'!*SU8CGYZitCB.D*(BDVIficKj7nFMLLDij64nVID)N9aK3GmR9kT4IzT*5iO_1y3iZ)6W.G*'
Run Code Online (Sandbox Code Playgroud)

它开始检索答案的文本正文,但丢失了其他重要信息(标签),例如显示与问题相关的答案的“question_id”。检索与问题评论相关的信息也存在同样的问题。

谁能指导我如何在不丢失重要信息的情况下获得答案和评论的正文?

Ale*_*gin 8

只需使用withbody过滤器即可。

例子:

from pprint import pprint

from stackapi import StackAPI

SITE = StackAPI('stackoverflow')

pprint(SITE.fetch('questions/{ids}', ids=[59239886], filter='withbody'))
pprint(SITE.fetch('questions/{ids}/answers', ids=[59239886], filter='withbody'))
Run Code Online (Sandbox Code Playgroud)

使用此过滤器可以输出所有正文和标签以及所有内容