取得通话结果以获取ID列表

时间:2019-12-01 13:30:22

标签: python

使用一个简单的示例即可正常运行

from stackapi import StackAPI
SITE = StackAPI('stackoverflow', key="xxxxxxx")
SITE.max_pages=10000000
SITE.page_size=100
post = SITE.fetch('/users/{ids}/reputation-history', ids=[11786778])

但是,如果我尝试将其运行到用于用户列表的for循环中,并将每次迭代的结果保存到一个变量中,该变量将具有所有结果,我将失败:

任何想法我该如何解决?

lst = ['11786778','12370060']
df = pd.DataFrame(lst)
SITE = StackAPI('stackoverflow', key="xxxx")
for i in range(1,len(df)):
    SITE.max_pages=10000000
    SITE.page_size=100
    post = SITE.fetch('/users/{ids}/reputation-history', ids=lst[i])

1 个答案:

答案 0 :(得分:1)

因为列表索引从0开始,而不是1。range(1, len(df))意味着i从1开始,因此在SITE.fetch中,您仅使用ids=lst[1]

for i in range(len(df))

要保留fetch的所有结果,请使用字典列表

results = []
for i in range(1,len(df)):
    SITE.max_pages=10000000
    SITE.page_size=100
    post = SITE.fetch('/users/{ids}/reputation-history', ids=lst[i])
    results.append(post)