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

2024-09-25 00:28:25 发布

您现在位置:Python中文网/ 问答频道 /正文

不久前,我学习了Python,我正尝试使用Facebook pythonsdk来获取特定帖子的所有评论。在

问题:

Facebook的Graph API只允许每个帖子有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 

这段代码的结果就是我所需要的,但是我不能让一个循环工作。在

我尝试了:

我见过并尝试过https://github.com/pythonforfacebook/facebook-sdk/blob/master/examples/get_posts.py中的while循环,但它没有工作,它只是循环回同一页的注释。在

提前谢谢!在


Tags: injsonmessagefordataget评论range
1条回答
网友
1楼 · 发布于 2024-09-25 00:28:25

嗯。。好像我得回答我自己的问题。在

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

引用更新版本here,next()方法允许您在不使用请求.get()

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

相关问题 更多 >