Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python循环请求.get().json()并获取值_Python_Json_Facebook Graph Api - Fatal编程技术网

Python循环请求.get().json()并获取值

Python循环请求.get().json()并获取值,python,json,facebook-graph-api,Python,Json,Facebook Graph Api,不久前我开始学习Python,我正在尝试使用Facebook Python SDK获取某篇文章的所有评论 问题: FacebookGraphAPI只允许一个帖子每次调用25条评论,所以要获得更多,我必须进入下一页。有些帖子最多可以发表几千条评论,所以硬编码是最糟糕的解决方案 我似乎无法循环请求。get() 我的硬编码版本: for i in JDict['data']: #first 25 comments for a in range(

不久前我开始学习Python,我正在尝试使用Facebook Python SDK获取某篇文章的所有评论

问题:

FacebookGraphAPI只允许一个帖子每次调用25条评论,所以要获得更多,我必须进入下一页。有些帖子最多可以发表几千条评论,所以硬编码是最糟糕的解决方案

我似乎无法循环请求。get()

我的硬编码版本:

      for i in JDict['data']:
           #first 25 comments
            for a in range(0,25,1):
                print i['comments']['data'][a]['message']
                print "-"*20

            #next 25 link
            myReq = requests.get(i['comments']['paging']['next']).json()
            for b in range(0,25,1):
                print myReq['data'][b]['message']
                print "-"*20

            #next 25 comments
            myReq2 = requests.get(myReq['paging']['next']).json();
            for c in range(0,25,1):
                print myReq2['data'][c]['message']
                print "-"*20

            #next 25 comments
            myReq3 = requests.get(myReq2['paging']['next']).json();
            for d in range(0,25,1):
                print myReq3['data'][d]['message']
                print "-"*20 
这段代码的结果就是我所需要的,但我就是不能让循环工作

我的尝试:

我已经看到并尝试了while循环,但它不起作用,它只是循环回同一页的注释


提前谢谢

嗯。。看来我得回答我自己的问题了

我使用pip下载了facebook sdk,但它似乎根本没有更新

参考更新版本,next()方法允许您在不使用request.get()的情况下转到下一页

然后,基本上只需创建一个循环next()方法的方法