我不久前选择了Python,我尝试使用Facebook Python SDK获取特定帖子的所有评论。
问题:
Facebook Graph API每个帖子只允许25条评论,所以为了获得更多,我必须进入下一页。有些帖子可以达到几千个评论,因此硬编码是最糟糕的解决方案。
我似乎无法循环request.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循环,但它没有用,它只是循环回到同一页面的注释。
提前致谢!
答案 0 :(得分:0)
我使用pip下载facebook-sdk,但似乎根本没有更新
参考更新版本here,next()方法允许您在不使用request.get()的情况下转到下一页。
然后,基本上只创建一个循环next()方法的方法。