使用 Python 的 Facebook API。如何打印所有帖子的评论?

Zul*_*zmi 5 python api facebook facebook-graph-api python-2.7

我是 Facebook API 的新手。目前,我正在尝试打印这个名为“leehsienloong”的 Facebook 页面上发布的所有评论。然而我总共只能打印出700多条评论。我确信总共有超过 700 条评论。

我发现问题是,我没有要求去另一个页面打印评论。我读过有关分页 Facebook API 的内容,但我仍然不明白如何编写分页代码。

有人可以帮助/协助我吗?我真的需要帮助。谢谢。

这是我的代码,没有分页:

import facebook    #sudo pip install facebook-sdk
import itertools
import json
import re
import requests

access_token = "XXX"
user = 'leehsienloong'

graph = facebook.GraphAPI(access_token)
profile = graph.get_object(user)
posts = graph.get_connections(profile['id'], 'posts')

Jstr = json.dumps(posts)
JDict = json.loads(Jstr)

count = 0
for i in JDict['data']:
    allID = i['id']
    try:
        allComments = i['comments']

        for a in allComments['data']:  
            count += 1
            print a['message']


    except (UnicodeEncodeError):
        pass


print count
Run Code Online (Sandbox Code Playgroud)

sal*_*hed 2

您可以使用该limit参数来增加要获取的评论数量。默认值为 25。您可以像这样增加它:

posts = graph.get_connections(profile['id'], 'posts', limit=100)
Run Code Online (Sandbox Code Playgroud)

但更方便的方法是获取previous页面nextpaging执行多个请求。