Py-StackExchange API对一个简单的查询不返回任何结果



我正在使用Py StackExchange从CrossValidated获取问题列表。我需要通过包括单词";keras";。

这是我的密码。它的执行需要很长时间,最终一无所获。

cv = stackexchange.Site(stackexchange.CrossValidated, app_key=user_api_key, impose_throttling=True)
cv.be_inclusive()
for q in cv.questions(pagesize=100):
if "keras" in q.title:
print('--- %s ---' % q.title)
print(q.creation_date)

我通过搜索手动检查了同一个查询,并很快获得了问题列表。

如何使用Py StackExchange进行同样的操作?

您有两个选项:

  1. 使用此SEDE查询。这将为您提供交叉验证标题中包含keras的所有问题。但是,请注意,SEDE每周更新一次。

  2. 使用Stack Exchange API的/search/advanced方法。此方法有一个接受的title参数

    必须出现在返回问题标题中的文本。

    我以前没有使用过Py StackExchange,所以我不知道它是如何工作的。因此,在这个例子中,我将使用StackAPI库(docs(:

    from stackapi import StackAPI
    q_filter = '!4(L6lo9D9ItRz4WBh'
    word_to_search = 'keras'
    SITE = StackAPI('stats')
    keras_qs = SITE.fetch('search/advanced',
    filter = q_filter,
    title = word_to_search)
    print(keras_qs['items'])
    print(f"Found {len(keras_qs['items'])} questions.")
    

    我在这里使用的过滤器是!-MOiN_e9RRw)Pq_PfQ*ovQp6AZCUT08iP;你可以改变或者根本不提供。没有理由提供API密钥(lib使用一个(,除非有readon这样做

最新更新