9

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

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

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

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

当我将过滤器的值更改为

'!*SU8CGYZitCB.D*(BDVIficKj7nFMLLDij64nVID)N9aK3GmR9kT4IzT*5iO_1y3iZ)6W.G*'

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

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

4

1 回答 1

4

只需使用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'))

使用此过滤器,它会输出所有主体和标签以及所有内容

于 2019-12-15T00:58:42.330 回答