在Python中进行递归时出错

时间:2017-08-29 18:27:03

标签: python recursion

我使用以下功能获取我们Facebook社区中的所有群组。我将页面限制设置为20(n),以便在一个页面中获取所有组,然后递归地转到下一页。但是我们社区中有近1000个团体。在一页中有20页和25组,我接近500组。如果我增加页面限制,递归会抛出“下一个指针无法处理”的错误。

有没有人遇到过这种错误?你有没有采取任何措施来克服它?任何建议都会很棒!!

TOKEN = "kjahfdsk1232415"
def getGroups(n,groups,after=None):

      if n==20:
          return groups
      headers = {'Authorization': 'Bearer ' + TOKEN}

      params = "?fields=feed.since(" + "1493658316"  + ").limit(1),name,updated_time&"

      params += "&limit=" + 10

      if after:
          #print (after)
          params += "?limit=50&after=" + after

      graph_url = GRAPH_URL_PREFIX + "community" + GROUPS_SUFFIX + params

      result = requests.get(graph_url, headers=headers)
      result_json = json.loads(result.text)

      if "data" in result_json:
          for group_obj in result_json["data"]:
              groups.append(group_obj)

      n = n + 1
      if 'paging' in result_json:
          getGroups(n,groups,after=result_json["paging"]["next"])
      return groups

0 个答案:

没有答案